2 votes

Ajouter une tâche cron en premier plan

Je suis en train d'essayer d'exécuter un programme qui ouvre une notification graphique pour moi. Comme exemple simple, j'ai mes réglages de cron comme

@hourly xlogo

et si je lance xlogo à partir d'une commande interactive, cela fonctionne bien. Cependant, lorsque je le lance à partir de cron, la fenêtre xlogo ne se lance jamais. Comment puis-je faire en sorte que cron permette à xlogo de lancer une fenêtre, ou est-ce juste fondamentalement pas conçu pour le faire?

3voto

reverendj1 Points 15127

Vous devez lui indiquer l'affichage à utiliser avec la commande export. Je recommande également d'utiliser toujours le chemin complet d'un fichier avec cron. Cela vous évitera beaucoup de maux de tête, car cron s'exécute dans un environnement limité, donc il n'a pas toujours la même variable $PATH que votre terminal. Cela signifie qu'il ne sait pas toujours où se trouvent les programmes.

Quoi qu'il en soit, votre tâche cron ressemblerait à cela :

@hourly export DISPLAY=:0.0 && /usr/bin/xlogo

3voto

Alex L. Points 3118

Il est tout à fait possible de le faire avec crontab.

Vous devez indiquer à l'écriture sur quel écran vous voulez exécuter xlogo.

Essayez de changer la ligne comme ceci:

@hourly /usr/bin/env DISPLAY=:0.0 /usr/bin/xlogo

pour indiquer à crontab quel affichage vous souhaitez utiliser. En fonction du programme, vous devrez peut-être ajouter d'autres variables d'environnement également.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X