【问题标题】:How to open xterm from script being runned by cron?如何从 cron 运行的脚本中打开 xterm?
【发布时间】:2014-07-26 20:47:08
【问题描述】:

我让 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 终端打开就好了,歌曲也播放了..

【问题讨论】:

    标签: linux bash terminal cron


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-01-01
      • 2010-09-07
      • 2012-06-16
      • 2018-03-22
      • 1970-01-01
      • 2014-11-01
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      相关资源
      最近更新 更多