Come avviare un'applicazione GUI da cron?


18

Devo eseguire un'applet Java da Firefox. Il problema è che devo eseguire questo Firefox da un cron. Se corro dalla riga di comando e funziona bene, ma quando inserisco il comando nel cron non è riuscito:

*/1 * * * * firefox http://domain.com/iqms/packetloss/iqmspacket2.html

1
Puoi usare la libreria java di Selenium se hai bisogno di più funzioni oltre alla semplice apertura.
Övünç Metin,

Puoi anche usare Selenium con Python, che è più semplice per gli script.
ESala,

Risposte:


25

Cron funziona in un ambiente che non sa nulla del display manager ( $DISPLAYnon è impostato). La finestra del terminale che hai testato ha impostato questo. Se lo provaste in un terminale "reale" o su SSH, lo vedreste rompersi.

Se hai solo un server X in esecuzione, basta specificare il display potrebbe funzionare:

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

Probabilmente potresti fare uno sforzo maggiore per capire quale display è posizionato piuttosto che supporre che sia, :0ma che probabilmente funzionerà per la maggior parte del tempo.

Se hai solo bisogno di ricaricare qualcosa, guarda Tab Auto Reload o plugin di Firefox simili.


Ho trovato questa risposta ma non avvia ancora Firefox. Dopo alcune ricerche, ho scoperto che ho bisogno di eseguire come utente valido anziché da root. * * * * * "DISPLAY =: 0.0 / usr / bin / firefox -new -window x.com/iqms/packetloss/iqmspacket2.html "
fadabi Nawi

1
@fadabiNawi Un modo più semplice di gestire sarebbe installare la cron line nel crontab dell'utente corretto. Accedi come chi desideri ecrontab -e
Oli

7

Ho trovato questa risposta che sto cercando di aggiungere a oli's:

Dopo alcune ricerche, ho scoperto che ho bisogno di eseguire come utente valido anziché da root.

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

tq


Questo ha aiutato, grazie mille! Solo una nota: il percorso completo per Firefox è obbligatorio, non me ne sono reso conto e non ha funzionato
aexl
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.