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

问题描述 投票:0回答:1

我有 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 终端打开得很好并且歌曲也播放..

bash terminal cron xterm
1个回答
3
投票

当脚本不是从 X 会话中启动时(即 cron 脚本的情况),您需要传递

DISPLAY
环境变量:

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

如果您运行的是标准桌面系统

:0
应作为该值,否则您需要为您的系统传递正确的值。

© www.soinside.com 2019 - 2024. All rights reserved.