2012-07-24 63 views
3

我想設置一個cronjob來每分鐘執行一個腳本。在Ubuntu的Cron作業沒有得到所需的輸出

我test.sh腳本:

#!/bin/bash 
notify-send hello 

我已經做了上面的腳本執行。

這裏是我的crontab -e文件的輸出http://pastie.org/4316348

現在,當我看到的syslog輸出它表明的cronjob是越來越執行的每一分鐘,但我不能看到我的期望輸出。

系統日誌:

Jul 24 17:42:01 noob CRON[5291]: (noob) CMD (/home/noob/test.sh) 
Jul 24 17:43:01 noob CRON[5364]: (noob) CMD (/home/noob/test.sh) 
Jul 24 17:44:01 noob CRON[5374]: (noob) CMD (/home/noob/test.sh) 
Jul 24 17:45:01 noob CRON[5386]: (noob) CMD (/home/noob/test.sh) 

所以,我想知道我在做什麼錯在這裏,爲什麼我不能看到我需要的輸出(通知)。

回答

1

推測,notify-send是一個使用X的程序;在這種情況下,它需要知道X顯示器的顯示號碼以顯示通知。當你在X中啓動一個終端時,它會自動設置,但是crontab沒有這個環境。

作爲一個簡單的開始,試着改變你的crontab行這樣的:

* * * * * DISPLAY=:0.0 /home/noob/test.sh 
+0

感謝。有效。 – RanRag 2012-07-24 12:39:18

+1

很高興聽到它! – Ashe 2012-07-24 13:15:57