need some help adding this to autostart for arch kde
It requires root for nvidia-settings but fails each time I make my own autostart on systemd
It requires root for nvidia-settings but fails each time I make my own autostart on systemd
robzombie91, <span style="color:#323232;">[Unit] </span><span style="color:#323232;">Description=NVIDIA Fan Control on Wayland Arch </span><span style="color:#323232;">After=graphical-session.target </span><span style="color:#323232;"> </span><span style="color:#323232;">[Service] </span><span style="color:#323232;">ExecStart=sudo /home/rob/Documents/fan.sh </span><span style="color:#323232;">User=root </span><span style="color:#323232;"> </span><span style="color:#323232;">[Install] </span><span style="color:#323232;">WantedBy=default.target </span><span style="color:#323232;"> </span>
HMitsuha, I’m not good with command line stuff but is sudo necessary if you’re already running as root?
Oha, nope
robzombie91, <span style="color:#323232;">● fan.service - NVIDIA Fan Control on Wayland Arch </span><span style="color:#323232;"> Loaded: loaded (/etc/systemd/system/fan.service; enabled; preset: disabled) </span><span style="color:#323232;"> Active: active (running) since Tue 2023-10-17 18:29:39 EDT; 4s ago </span><span style="color:#323232;"> Main PID: 2691 (sudo) </span><span style="color:#323232;"> Tasks: 3 (limit: 38401) </span><span style="color:#323232;"> Memory: 5.9M </span><span style="color:#323232;"> CPU: 39ms </span><span style="color:#323232;"> CGroup: /system.slice/fan.service </span><span style="color:#323232;"> ├─2691 sudo /home/rob/Documents/fan.sh </span><span style="color:#323232;"> ├─2692 /bin/bash /home/rob/Documents/fan.sh </span><span style="color:#323232;"> └─2699 sleep 5 </span><span style="color:#323232;"> </span><span style="color:#323232;">Oct 17 18:29:39 robpc systemd[1]: Started NVIDIA Fan Control on Wayland Arch. </span><span style="color:#323232;">Oct 17 18:29:39 robpc sudo[2691]: root : PWD=/ ; USER=root ; COMMAND=/home/rob/Documents/fan.sh </span><span style="color:#323232;">Oct 17 18:29:39 robpc sudo[2691]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0) </span><span style="color:#323232;">Oct 17 18:29:39 robpc sudo[2694]: ERROR: The control display is undefined; please run `nvidia-settings --help` for usage information. </span><span style="color:#323232;">Oct 17 18:29:39 robpc sudo[2692]: Current GPU temperature: 0 </span><span style="color:#323232;">Oct 17 18:29:39 robpc sudo[2698]: ERROR: The control display is undefined; please run `nvidia-settings --help` for usage information. </span><span style="color:#323232;"> </span>
aebletrae, The output here lets us know that systemd is running the service file and starting the script just fine. The echoed GPU temperature is making it to the journal, but the
gpuTemp
variable isn’t being updated (staying at0
) because of a problem executingnvidia-settings
. Specifically, it wants a display: “The control display is undefined
”.You could add a line to the service file:—
Environment = DISPLAY=:0
Although if
echo DISPLAY
in your terminal gives you a different value, use that. There’s a possibility that that will just push one error further down the line, but it’s something to try.Alternatively/additionally, you could try changing the
User=
line to your own username to see if it picks up the environment your manual executions work with.You aren’t the only one to run into problems trying to automate
nvidia-settings
. You might end up needing to track down an or use the display manager’s initialisation options.
Add comment