Мне нужно запустить Java-апплет из Firefox. Проблема в том, что мне нужно запустить этот Firefox из cron. Если я запускаю из командной строки и она работает нормально, но когда положить команду в cron, это не удалось:
*/1 * * * * firefox http://domain.com/iqms/packetloss/iqmspacket2.html
Я нашел этот ответ, я ищу дополнение к oli:
После нескольких поисков я обнаружил, что мне нужно запускать как действующий пользователь вместо root.
* * * * * su fadabi -c "DISPLAY=:0.0 /usr/bin/firefox -new-window x.com/iqms/packetloss/iqmspacket2.html";
tq
Cron работает в среде, которая ничего не знает о диспетчере отображения ( $ DISPLAY
не установлен). В окне вашего терминала, в котором вы тестировали, есть эта настройка. Если вы попробуете его в "реальном" терминале или через SSH, вы увидите, что он сломается.
Если у вас работает только один X-сервер, просто указание дисплея может сработать:
* * * * * DISPLAY=:0 firefox ...
Вы, вероятно, могли бы поставить приложить больше усилий для определения того, под каким дисплеем он находится, вместо того, чтобы предполагать, что это : 0
, но это, вероятно, будет работать большую часть времени.
Если вам просто нужно много что-то перезагрузить, посмотрите Вкладка Auto Reload или аналогичные плагины Firefox.
У меня DISPLAY =: 0
не работал. Когда я проверяю echo $ DISPLAY
в терминале, он возвращает 1
. Итак, DISPLAY =: 1
у меня работал. (в Ubuntu 20.04)