所以:我刚刚安装了Conky,它看起来非常好。但启动时不断手动打开很烦人。所以我正在寻找一种自动启动Conky的方法
我试过了:
- 制作一个 .desktop 文件并将其放入 中
/home/<username>/.config/autostart/
,但即使我添加了 30 秒的延迟,它也无法打开。
[Desktop Entry]
Type=Application
Exec=/usr/bin/conky -p 30
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=conky
Comment=conky
- 创建一个用户服务,在启动时启用它并尝试重新启动。但是当我检查日志时,它返回了一个错误
conky: can't open display:
,即使我添加了 30/60 秒的延迟。
$ systemctl --user status conky.service
conky.service - Conky autostart
Loaded: loaded (/home/<username>/.config/systemd/user/conky.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2022-05-20 16:47:00 +07; 4s ago
Process: 1568 ExecStart=/usr/bin/conky --config=/home/anhquan/.conkyrc --daemonize --pause=60 (code=exited, status=1/FAILURE)
CPU: 18ms
May 20 16:46:00 fedora systemd[1550]: Starting conky.service - Conky autostart...
May 20 16:47:00 fedora conky[1568]: conky: can't open display:
May 20 16:47:00 fedora systemd[1550]: conky.service: Control process exited, code=exited, status=1/FAILURE
May 20 16:47:00 fedora systemd[1550]: conky.service: Failed with result 'exit-code'.
May 20 16:47:00 fedora systemd[1550]: Failed to start conky.service - Conky autostart.
它似乎对其他人有效,但不适用于 Fedora 36 / GNOME 42。这可能是 OS / DE 的错误,或者是我不知道的 Conky 的一些更改,或者可能是 Wayland 的问题。那么在 F36 / G42 中是否有不同的方式来自动启动它?
压力/压力:这是强制Xwayland启动时的新日志:
○ conky.service - Conky autostart
Loaded: loaded (/home/anhquan/.config/systemd/user/conky.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Fri 2022-05-20 17:38:23 +07; 17s ago
Process: 1575 ExecStartPre=Xwayland (code=exited, status=1/FAILURE)
CPU: 56ms
May 20 17:38:23 fedora systemd[1556]: Starting conky.service - Conky autostart...
May 20 17:38:23 fedora systemd[1556]: conky.service: Control process exited, code=exited, status=1/FAILURE
May 20 17:38:23 fedora systemd[1556]: conky.service: Failed with result 'exit-code'.
May 20 17:38:23 fedora systemd[1556]: Failed to start conky.service - Conky autostart.
PSS:运行strace后,systemctl报告如下(找不到写入/tmp目录的日志)
conky.service - Conky autostart
Loaded: loaded (/home/anhquan/.config/systemd/user/conky.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Fri 2022-05-20 18:04:11 +07; 21s ago
Process: 1578 ExecStart=strace -f /tmp/conky.log /usr/bin/conky --config=/home/anhquan/.conkyrc -p 30 (code=exited, status=203/EXE>
CPU: 1ms
May 20 18:04:11 fedora systemd[1560]: Starting conky.service - Conky autostart...
May 20 18:04:11 fedora systemd[1578]: conky.service: Failed to locate executable strace: No such file or directory
May 20 18:04:11 fedora systemd[1578]: conky.service: Failed at step EXEC spawning strace: No such file or directory
May 20 18:04:11 fedora systemd[1560]: conky.service: Control process exited, code=exited, status=203/EXEC
May 20 18:04:11 fedora systemd[1560]: conky.service: Failed with result 'exit-code'.
May 20 18:04:11 fedora systemd[1560]: Failed to start conky.service - Conky autostart.
答案1
-您需要将条目放入主目录中的文件中,该文件。轮廓 在文件末尾有一行启动 conky 的命令,如下所示:
/usr/bin/conky -q -d -a tm -c $HOME/.conkyrc
在此示例中,命令仅使用“点”启动 conky, .conkyrc在家 用户,进行一个小测试,确定后你验证你的 conky 工作得非常完美,你只需将重定向到空设备文件就不会得到如下命令的输出:
/usr/bin/conky -q -d -a tm -c $HOME/.conkyrc > /dev/null &
有了这个,你的 conky 就能完美地工作了。因为命令行中的选项会:
**> -q , --quiet - 将 conky 置于安静模式。
-d , --daemonize - put the conky in daemonize mode, fork to background -a , --alignment=ALIGNMENT - put the conky alignment on the screen, {top,bottom,middle}_{left,right,middle} you can use the
首字母来定义对齐方式,例如 tm 到 {top}_{middle}。
-c , --config=FILE - just point the configuration file conkrc, where the file stay.**
重定向“>/dev/null "
只是向黑洞发出任何消息和“”信号&
,将 conky 置于循环中。
答案2
因此,在查看了 Conky 的 GitHub 存储库中的问题后,更具体地说:https://github.com/brndnmtthws/conky/issues/869
并且还查看日志:May 20 16:47:00 fedora conky[1568]: conky: can't open display
我在服务文件中添加了一个新配置:Environment="DISPLAY=:0"
现在它工作得很好,甚至延迟更低了!