我已经让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终端打开就好了,歌曲也会播放..
答案 0 :(得分:2)
当脚本未在X会话中启动时(cron脚本就是这种情况),您需要传递DISPLAY
环境变量:
DISPLAY=:0 xterm -hold -e "echo Time to relax"
如果您运行的是标准桌面系统:0
应该作为值使用,否则您需要为系统传递正确的值。