Skip to content

How to install NBFC on Ubuntu 18.04

Demetrio92 edited this page Mar 14, 2021 · 8 revisions

Currently, installing NBFC on Linux is not straight forward. This example shows you how to build and install NBFC on Ubuntu 18.04+.

1. Install mono

sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
sudo apt install mono-complete

2. Clone repository anywhere

git clone https://github.com/hirschmann/nbfc.git

# use latest stable version
cd nbfc
git pull origin stable 
git checkout origin/stable

3. Manually download nuget.exe and paste to nbfc (latest stable)

NUGET

and run:

sudo mono nuget.exe restore

4. Build NBFC

xbuild /t:Build /p:Configuration=ReleaseLinux NoteBookFanControl.sln

5. Copy the build output files from nbfc/Linux/bin/Release/ to /opt/nbfc/

sudo cp -rf Linux/bin/Release/ /opt/nbfc/

6. Copy Linux/nbfc.service and Linux/nbfc-sleep.service into /etc/systemd/system/

sudo cp Linux/nbfc.service /etc/systemd/system/
sudo cp Linux/nbfc-sleep.service /etc/systemd/system/

7. Enable and start the service

sudo systemctl enable nbfc --now

8. Find a config for your notebook

You can either let NBFC recommend configs for you:

mono /opt/nbfc/nbfc.exe config --recommend

Or get a list of all the configs and find one by yourself:

mono /opt/nbfc/nbfc.exe config --list

If that doesn't work for some reason, you can instead check the NBFC Configs folder in and choose a file for your laptop:

cd /opt/nbfc/Configs
ls

9. Select a config

Go back to /opt/nbfc/ and run:

mono /opt/nbfc/nbfc.exe config --apply 'Your config'

e.g.:

mono /opt/nbfc/nbfc.exe config --apply 'Asus ROG G751JL'

Note that the nbfc.exe config command expects the name of an available config, not the path to a file. Looking through the Config directory in step 11 is just a way to see the available configs.

10. Check if NBFC is working properly

mono /opt/nbfc/nbfc.exe status -a