Как запустить приложение с графическим интерфейсом из cron?

Мне нужно запустить Java-апплет из Firefox. Проблема в том, что мне нужно запустить этот Firefox из cron. Если я запускаю из командной строки и она работает нормально, но когда положить команду в cron, это не удалось:

*/1 * * * * firefox http://domain.com/iqms/packetloss/iqmspacket2.html
25
задан 14 March 2015 в 17:46

3 ответа

Я нашел этот ответ, я ищу дополнение к oli:

После нескольких поисков я обнаружил, что мне нужно запускать как действующий пользователь вместо root.

* * * * * su fadabi -c "DISPLAY=:0.0 /usr/bin/firefox -new-window x.com/iqms/packetloss/iqmspacket2.html"; 

tq

8
ответ дан 14 March 2015 в 17:46

Cron работает в среде, которая ничего не знает о диспетчере отображения ( $ DISPLAY не установлен). В окне вашего терминала, в котором вы тестировали, есть эта настройка. Если вы попробуете его в "реальном" терминале или через SSH, вы увидите, что он сломается.

Если у вас работает только один X-сервер, просто указание дисплея может сработать:

* * * * *    DISPLAY=:0 firefox ...

Вы, вероятно, могли бы поставить приложить больше усилий для определения того, под каким дисплеем он находится, вместо того, чтобы предполагать, что это : 0 , но это, вероятно, будет работать большую часть времени.

Если вам просто нужно много что-то перезагрузить, посмотрите Вкладка Auto Reload или аналогичные плагины Firefox.

30
ответ дан 14 March 2015 в 17:46

У меня DISPLAY =: 0 не работал. Когда я проверяю echo $ DISPLAY в терминале, он возвращает 1 . Итак, DISPLAY =: 1 у меня работал. (в Ubuntu 20.04)

1
ответ дан 28 July 2021 в 15:21

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

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