在 Manjaro Linux(内核 5.5)上,我创建了一个用于超频 GPU 的脚本,以及一个在启动时启动它的 systemd 服务:
/usr/local/bin/amdoverclock
#!/bin/bash
echo 'manual' > power_dpm_force_performance_level
echo 's 1 1925' > pp_od_clk_voltage
echo 'm 1 900' > pp_od_clk_voltage
echo 'vc 0 800 750' > pp_od_clk_voltage
echo 'vc 1 1363 918' > pp_od_clk_voltage
echo 'vc 2 1925 1085' > pp_od_clk_voltage
echo 'c' > pp_od_clk_voltage
/etc/systemd/system/amdoverclock.service
[Unit]
Description=Tweaks GPU core and memory clocks
[Service]
Type=oneshot
WorkingDirectory=/absolute/path/to/powerstates/files
ExecStart=/usr/local/bin/amdoverclock
[Install]
WantedBy=multi-user.target
启用后,服务会失败,但仅在启动时失败,并且每个echo
脚本行上都显示“PERMISSION DENIED”。如果我重新启动系统,一切都会顺利运行。脚本的 Chmod 为 755,服务单元的 Chmod 为 644。删除 WorkingDirectory 并在脚本中放入绝对路径不会改变任何事情。
我怎样才能让这个东西工作呢?
答案1
正如我发现的这里问题已解决,只需添加After=multi-user.target
到“单元”部分,然后更改WantedBy=multi-user.target
为WantedBy=graphical.target
“安装”部分即可。