Добрый день.
Есть скрипт /usr/local/bin/gpuoc.sh
#!/bin/sh
nvidia-settings -a «[gpu:0]/GPUGraphicsClockOffset[3]=200»
есть служба
[Unit]
Description=«gpu»
After=multi-user.target
[Service]
Type=simple
User=myuser
ExecStart=/usr/local/bin/gpuoc.sh
[Install]
WantedBy=multi-user.target"
Запихиваю службу в /home/myuser/.config/systemd/user, стартую ее systemctl --user start gpuoc
и меняется частота видеочипа.
Но если положить службу в /etc/systemd/system, и сказать systemctl start gpuoc
то получаю ошибку:
× gpuoc.service - «gpu»
Loaded: loaded (/etc/systemd/system/gpuoc.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2021-12-14 01:20:57 MSK; 7s ago
Process: 4723 ExecStart=/home/rsnorlax/.config/gpuoc.sh (code=exited, status=1/FAILURE)
Main PID: 4723 (code=exited, status=1/FAILURE)
CPU: 15ms
дек 14 01:20:57 SN-DT systemd[1]: Started «gpu».
дек 14 01:20:57 SN-DT gpuoc.sh[4724]: ERROR: The control display is undefined; please run nvidia-settings –help for usage information.
дек 14 01:20:57 SN-DT systemd[1]: gpuoc.service: Main process exited, code=exited, status=1/FAILURE
дек 14 01:20:57 SN-DT systemd[1]: gpuoc.service: Failed with result ‘exit-code’.
Судя по тому что по этому же принципу не работатет софтина nvfancontrol запущенная службой из /ets/systemd/system, подозреваю, что они пытаются запуститься от рута, но что-то идет не так. Помогите разобраться.