![使用 cron 啟動圖形應用程式](https://rvso.com/image/1070341/%E4%BD%BF%E7%94%A8%20cron%20%E5%95%9F%E5%8B%95%E5%9C%96%E5%BD%A2%E6%87%89%E7%94%A8%E7%A8%8B%E5%BC%8F.png)
我想在會話開始時啟動 python tkinter 應用程序,我將下一行添加到我的用戶和 root crontab
@reboot python3 /home/alvaro/Desktop/python/good.py
但是當我重新啟動時,應用程式無法啟動
This is the output of the cron status
● cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-04-19 10:35:07 CEST; 1min 46s ago
Docs: man:cron(8)
Main PID: 622 (cron)
Tasks: 1 (limit: 9484)
Memory: 19.6M
CGroup: /system.slice/cron.service
└─622 /usr/sbin/cron -f
abr 19 10:35:07 alvaro-VirtualBox cron[622]: (CRON) INFO (pidfile fd = 3)
abr 19 10:35:07 alvaro-VirtualBox cron[622]: (CRON) INFO (Running @reboot jobs)
abr 19 10:35:07 alvaro-VirtualBox CRON[631]: pam_unix(cron:session): session opened for user root by (uid=0)
abr 19 10:35:07 alvaro-VirtualBox CRON[636]: (root) CMD (python3 /home/alvaro/Desktop/python/good.py)
abr 19 10:35:07 alvaro-VirtualBox CRON[632]: pam_unix(cron:session): session opened for user alvaro by (uid=0)
abr 19 10:35:07 alvaro-VirtualBox CRON[693]: (alvaro) CMD (python3 /home/alvaro/Desktop/python/good.py)
abr 19 10:35:09 alvaro-VirtualBox CRON[631]: (CRON) info (No MTA installed, discarding output)
abr 19 10:35:09 alvaro-VirtualBox CRON[631]: pam_unix(cron:session): session closed for user root
abr 19 10:35:09 alvaro-VirtualBox CRON[632]: (CRON) info (No MTA installed, discarding output)
abr 19 10:35:09 alvaro-VirtualBox CRON[632]: pam_unix(cron:session): session closed for user alvaro
答案1
Cron 沒有圖形環境,因此您無法從那裡執行 GUI 程式。此外,在重新啟動時執行程式時,您尚未登錄,因此沒有可用的圖形會話。
將您的程式新增至「啟動應用程式」(「啟動應用程式首選項」)以使其在登入時啟動。最終啟用「自動登入」以避免提供使用者名稱和密碼。
您還可以搜尋“Ubuntu kiosk setup”來查找有關設置 KIOSK 解決方案的資訊 - 這是應用程式在啟動時自動啟動的設置,無需用戶訪問桌面。