J'essaie de créer une méthode pour changer mon fond d'écran de façon aléatoire. J'utilise crontab pour gérer le changement toutes les 10 minutes.Exécution de la commande à partir de cron ne fonctionne pas sans erreur
Le crontab
*/10 * * * * /usr/bin/feh --recursive --randomize --bg-fill
/home/aaron/Pictures/wallpapers/minimalist 2>&1
Le syslog
syslog:Oct 20 09:20:01 skull-nuc CRON[19895]: (aaron) CMD (/usr/bin/feh --recursive --randomize --bg-fill /home/aaron/Pictures/wallpapers/minimalist 2>&1)
syslog:Oct 20 09:30:01 skull-nuc CRON[20449]: (aaron) CMD (/usr/bin/feh --recursive --randomize --bg-fill /home/aaron/Pictures/wallpapers/minimalist 2>&1)
tir Trouble -
D'abord, je changé ma coquille sh et testé la commande. Ça marche. J'ai testé la commande dans bash. Ça marche. Je l'autorise à partir de cron et rien ne se passe et aucune erreur n'est produite. Il ne fonctionne que toutes les dix minutes et mon fond ne change que lorsque je le fais manuellement.
J'ai vérifié
- Script fonctionne seul
- Script fonctionne du service cron sh
- est en cours d'exécution
- Cron exécute la commande sans sortie discernable
- Je ne suis pas sûr que les autres faire
Peut-être dire quel shell à exécuter: '/ bin/sh/usr/bin/feh --recursive ...' Aussi, comment dites-vous s'il y a sortie? Peut-être que vous devriez rediriger vers un fichier '2> & 1/some/file.log' – JNevill
Oh. nm. Je vois que "feh" est son propre programme. Shell ne devrait pas avoir d'importance. Pas familier avec 'feh'. Avez-vous besoin de spécifier un fichier à afficher ou quoi que ce soit? Comment savez-vous qu'il n'y a pas de sortie quand elle passe par cron? – JNevill
Est-ce que 'feh' a besoin que la variable d'environnement DISPLAY soit définie, afin qu'elle se connecte à la bonne session X pour changer son arrière-plan? DISPLAY n'est probablement pas défini dans l'environnement cron. –