使用 cronjob 重启 Firefox

使用 cronjob 重启 Firefox

我有一个 Ubuntu 14.04 系统,整天都在运行 Firefox。现在我想每天自动重启一次 Firefox,因此我创建了以下 shell 脚本:

#!/bin/sh
killall firefox
sleep 5
killall -9 firefox
sleep 2
/usr/bin/firefox -URL <...>

并设置 da cronjob 来调用脚本。但是它不起作用,我得到:

Error: no display specified

当我插入时

export DISPLAY=:0

我明白了

No protocol specified
No protocol specified
Error: cannot open display: :0

正确的做法是什么?

答案1

要通过另一个用户执行命令xserver需要导出两个变量:
XAUTHORITYDISPLAY

首先,是DISPLAY通过输入以下内容连接到用户:

w

假设用户“username”使用显示“1”,并且脚本应该在23:30运行,请升级你的crontab,如下所示:

30 23 *** export XAUTHORITY=/home/username/.Xauthority && export DISPLAY=:1 && /path/to/script 2> /tmp/error_cron.log 

该行的最后一部分是保存所有错误/tmp/error_cron.log

答案2

首先确保使用 来编辑 crontabcrontab -e而不是 /etc 下的某个文件(如/etc/cron.hourly)。

然后你需要声明展示cronjob 本身的变量:

DISPLAY=:0 /path/to/your/script

相关内容