3

我正在尝试设置一个 cronjob 来每分钟执行一个脚本。

我的 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)

所以,我想知道我在这里做错了什么以及为什么我看不到我想要的输出(通知)。

4

1 回答 1

1

猜测一下,notify-send是一个使用 X 的程序;在这种情况下,它需要知道 X 显示器的显示器编号才能显示通知。当您在 X 中启动终端时,它会自动设置,但 crontab 没有该环境。

作为一个简单的开始,尝试将您的 crontab 行更改为:

  * * * * * DISPLAY=:0.0 /home/noob/test.sh
于 2012-07-24T12:31:44.393 回答