Firefox перезапуска с cronjob

У меня есть система Ubuntu 14.04, которая просто запускает Firefox весь день. Теперь я хочу перезапустить Firefox автоматически один раз в день, таким образом, я создал следующий сценарий оболочки:

#!/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
задан 28 April 2014 в 19:17

2 ответа

Выполнить команду через xserver из другого пользователя должно экспортировать две переменные:
XAUTHORITY и DISPLAY.

, В первую очередь, то, что DISPLAY подключен к пользователю путем ввода:

w

предположение, что пользователь "имя пользователя" использует дисплей "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

1
ответ дан 11 November 2019 в 12:47

Сначала обязательно отредактируйте crontab с crontab -e и не один из файлов под / и т.д. (как /etc/cron.hourly).

Тогда необходимо объявить ДИСПЛЕЙ переменная в самом cronjob:

DISPLAY=:0 /path/to/your/script
0
ответ дан 11 November 2019 в 12:47

Другие вопросы по тегам:

Похожие вопросы: