我有一個通過crontab運行的python程序,並且完美地工作。但是,我決定增加通知我它正在做什麼的能力,並突然失敗。它從命令行運行,但是,運行它作爲crontab程序導致它失敗從crontab運行python腳本
libnotify-Message: Unable to get session bus: /bin/dbus-launch terminated abnormally with the following error: Autolaunch error: X11 initialization failed.
我在做什麼錯?
編輯 我想這個程序仍然可以從cron運行,並能夠利用通知用戶它的工作。有沒有辦法做到這一點?
編輯2 我用root的crontab和sudo -u esr python script.py
試過沒這也失敗了,默默地在那。
編輯3 這是可能的!這是代碼。
* * * * * su $user -c "DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$(ps -au esr | grep -i "gnome-session" | awk '{ print $1 }')/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//') $(whereis notify-send | awk '{ print $2 }') -u normal -t 20000 \"Hello\" "
你可以使用'的sendmail '通知用戶程序的結果。 – 2010-07-21 18:02:48
sendmail可以工作,但它與使用日誌來存儲結果一樣有效,這不幸並不是我正在尋找的。 – EricR 2010-07-21 18:03:40