我有 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,我在这里做错了什么吗?当我通过终端运行脚本时,例如: sh /home/username/Desktop/alarm.sh 终端打开得很好并且歌曲也播放..
当脚本不是从 X 会话中启动时(即 cron 脚本的情况),您需要传递
DISPLAY
环境变量:
DISPLAY=:0 xterm -hold -e "echo Time to relax"
如果您运行的是标准桌面系统
:0
应作为该值,否则您需要为您的系统传递正确的值。