systemd服務(三):自啟動后,系統托盤無法顯示
背景:
編寫一個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 ,這個服務是顯示用戶圖形界面的服務,我們需要等這個服務啟動后,在運行我們的服務,這樣才能正常顯示系統托盤圖標


浙公網安備 33010602011771號