如何从cron运行的脚本中打开xterm?

时间:2014-06-05 18:15:28

标签: linux bash terminal cron

我已经让cronjob每20分钟运行一次这个脚本,但是我无法理解如何用它打开xterm ..

#!/bin/bash

xterm -hold -e "echo Time to relax"
play -q /home/username/music/relax.mp3 trim 0 01:20
sleep 120
exit 0

并在crontab -e

*/20 * * * * /home/username/Desktop/alarm.sh

脚本运行正常,但我无法让xterm打开,我在这里做错了吗?当我通过终端运行脚本时,ex:sh /home/username/Desktop/alarm.sh终端打开就好了,歌曲也会播放..

1 个答案:

答案 0 :(得分:2)

当脚本未在X会话中启动时(cron脚本就是这种情况),您需要传递DISPLAY环境变量:

DISPLAY=:0 xterm -hold -e "echo Time to relax"

如果您运行的是标准桌面系统:0应该作为值使用,否则您需要为系统传递正确的值。