背景:
编写一个Qt程序,带有系统托盘。使用 systemd 服务做自启动后,开机第一次,总是没有显示出 系统托盘图标,使用 ps 命令查询进程,发现程序是存在的,但是就是没有系统托盘的图标
解决方法:
修改 my.service 配置文件,增加 After 和 Requires 配置。
# systemd服务中文手册:https://www.jinbuguo.com/systemd/systemd.exec.html [Unit] Description=testhuqt After=network-pre.target dbus.service lightdm.service Requires=lightdm.service [Service] Type=simple EnvironmentFile=/opt/testhuqt/test1.env # 设置工作目录 #WorkingDirectory=/opt/testhuqt ExecStart=/opt/testhuqt/start.sh ExecStop=/usr/bin/killall testhuqt Restart=always RestartSec=5 [Install] #multi-user.target:表示多任务终端窗口;graphical.target:表示图形化界面 WantedBy=graphical.target
原因:
*:lightdm.service ,这个服务是显示用户图形界面的服务,我们需要等这个服务启动后,在运行我们的服务,这样才能正常显示系统托盘图标
标签:systemd,服务,target,service,testhuqt,自启动,系统托盘 From: https://www.cnblogs.com/shiyixirui/p/18637443