web-dev-qa-db-fra.com

Comment démarrer une application graphique depuis cron?

Je dois exécuter une applet Java à partir de Firefox. Le problème est que je dois exécuter ce Firefox à partir d’un cron. Si je cours à partir de la ligne de commande et que tout fonctionne bien, mais que la commande soit insérée dans le cron, elle échoue:

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

J'ai trouvé cette réponse que je cherche à ajouter à oli:

Après quelques recherches, j'ai découvert que je devais utiliser un utilisateur valide à la place de la racine.

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

tq

7
fadabi Nawi

Cron s'exécute dans un environnement qui ignore tout du gestionnaire d'affichage ($DISPLAY n'est pas défini). La fenêtre de votre terminal que vous avez testée a cet ensemble. Si vous l’essayiez dans un "vrai" terminal ou sur SSH, vous le verriez casser.

Si un seul serveur X est en cours d'exécution, il suffit de spécifier l'affichage pour fonctionner:

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

Vous pourriez probablement faire plus d'efforts pour déterminer l'affichage sur lequel il est assis plutôt que de supposer qu'il s'agit de :0, mais cela fonctionnera probablement la plupart du temps.

Si vous avez juste besoin de recharger beaucoup de choses, regardez Plug Auto Reload ou des plugins similaires pour Firefox.

25
Oli