You are probably wondering why I have chosen to write this script in Bash Shell Script. The reason is very simple; I wanted a script with the minimum number of dependencies possible. To get this script up-and-running you technically only need the temp.sh
file, and the config
file.
The current version of the script is version 19.6.
This script is currently set up for Celsius. However, it can easily be modified for other temperature scales.
If you need any help configuring my script or don't know how to make it start automatically check the USAGE.md file.
nvidia-settings
commandsCoolBits
)bash
and dash
nvidia glx driver
version greater than 304nvidia-settings
for controlling the GPU(s)coreutils
procps
- you can comment out the function check_already_running
if you don't have itCoolBits
is enabled (see USAGE.md)sh temp.sh
(or any compatable shell) or ./temp.sh
for a foreground process. Run with the option -D
(case sensitive) for a background process (i.e. ./temp.sh -D
). Note that using sh
or ./
will automatically use your default shell.git clone https://github.com/nan0s7/nfancurve
There are unofficial AUR packages:
Ensure the script and the config paths are correct. Move or copy the nfancurve.service file to /etc/systemd/user/nfancurve.service then enable and start the service with:
systemctl --user daemon-reload
systemctl --user start nfancurve.service
systemctl --user enable nfancurve.service
On some Distro's which are further behind in updates, or if there's a slight misconfiguration with services, you may encounter issues with the service file.
To work around this, you may change the following lines in the nfancurve.service
file:
After=graphical-session.target
to After=default.target
Requires=graphical-session.target
WantedBy=graphical-session.target
to WantedBy=default.target
[Service]
heading, add the line ExecStartPre=/bin/sleep 20
Don't forget to reload and reenable the service:
systemctl --user daemon-reload
systemctl reenable --user nfancurve.service
nvidia-settings
app (for headless support)