Cron
Cron 和互動式應用程序
我想在 cron 中安排一個 gui 應用程序,但是有一個問題。當 cron 嘗試執行計劃任務(在我的情況下為 amarok)時,它會引發
cannot connect to X server
錯誤。我認為這是因為應用程序是從我的根帳戶執行的。是否可以從 root 執行應用程序但偽裝成其他人?謝謝。
Cronjobs 在非常受限的環境中執行,這意味著它不知道在哪裡可以找到 X 伺服器(
$DISPLAY
環境變數不存在)。如果要從 crontab 執行 X 應用程序,首先需要設置
$DISPLAY
環境變數。要麼像pQd所說的那樣呼叫 AmaroK ,要麼為整個 cron 腳本設置它:
DISPLAY=:0.0 # ... * * * * * amarok
另外,我建議您以“想要成為”的帳戶而不是 root 身份執行它,這是通過
crontab -e
以使用者身份執行來完成的。編輯:
你也應該能夠這樣做:
* * * * * export DISPLAY=:0.0 && amarok