Cron

Cron 和互動式應用程序

  • November 22, 2009

我想在 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

引用自:https://serverfault.com/questions/87086