Systemd
為帶有 GUI 的程序創建 ubuntu 服務單元文件的問題
我正在嘗試為具有 GUI 的程序編寫單元服務文件。
我有一個來自DigitalOcean的 ubuntu 伺服器,我使用 TightVNC 連接到它以顯示:2。
GUI 需要使用者名和密碼才能線上登錄我的帳戶。雖然這個程序是打開的,但它允許通過埠 4002 連接到他們的伺服器並使用 python 腳本線上請求數據。
該程序可以在終端中使用給定的使用者名和密碼進行身份驗證。下面將打開程序,自動登錄我的賬戶,並顯示程序GUI。
$ /home/user1/ibg/ibg username=*** password=***
我寫的單元文件如下:
[Unit] Description=my service After=network.target [Service] Type=simple ExecStart=/home/user1/ibg/ibg username=*** password=*** Restart=always [Install] WantedBy=multi-user.target
該服務處於活動狀態且正在執行,但我收到以下消息,我認為這會阻止該服務真正發揮作用。我可以從我的 python 腳本不工作的事實中看出這一點。如果相反,我打開程序 GUI,並登錄到我的帳戶,python 程序可以正常工作。
No X11 display variable was set, but this program performed an operation that requires it. at java.awt.SplashScreen.getSplashScreen(SplashScreen.java:117)
有人可以幫我解決這個問題嗎?
您是否嘗試將
DISPLAY
變數設置:2
為您的服務ExecStart
環境?請參閱此伺服器故障問題:
您可以選擇
Environment=
直接在單元文件的部分中使用標誌[Service]
,或者您可以使用該.conf
問題中投票最多的答案中描述的文件方法。