#1 Le 27/03/2012, à 18:29
- le_radis_masque
[Résolu] Problème avec cron
Bonjour à tous ! Je me suis fait un petit script pour changer de fond d'écran aléatoirement parmi ceux d'un répertoire donné. Voici le script, si vous voulez me donnez votre avis :
#!/bin/bash
dossier='/home/***/Images/Wallpaper/'
min=1
max=`ls "$dossier" | wc -l`
al=`shuf -n 1 -i 1-"$max"`
wallpaper=`ls "$dossier" | grep -n . | egrep "^$al:" | cut -d : -f 2`
gsettings set org.gnome.desktop.background picture-uri file://"$dossier""$wallpaper"
Il se trouve en /home/***/.wallpaper.sh
Si je le lance directement dans une console, pas de soucis, cela marche parfaitement.
J'ai donc voulu le mettre en tâche cron.
Voici donc ce que je rajoute à mon cron :
* * * * * /home/***/.wallpaper.sh
Au bout de plusieurs minutes, le fond d'écran n'a pas changé... Je rajoute donc
* * * * * touch /home/***/Bureau/ESSAI
à la fin du cron.
Une minute plus tard, le fichier apparaît, j'en conclus donc que cron se lance bien... Je supprime donc les deux lignes, et les remplace par
* * * * * /home/***/.wallpaper.sh | touch /home/***/Bureau/ESSAI
. Le fichier réapparaît sur le bureau, mais le fond d'écran ne change toujours pas
Nouvel essai, je ne met que
* * * * * /home/***/.wallpaper.sh
dans le crontab, et je rajoute
touch /home/***/Bureau/ESSAI
dans le script. Et cela créer un nouveau fichier sur le bureau, mais cela ne change pas le fond d'écran !
Vous pouvez m'aider à voir ce qui ne vas pas ?
Dernière modification par le_radis_masque (Le 27/03/2012, à 18:52)
Hors ligne
#2 Le 27/03/2012, à 18:46
- gl38
Re : [Résolu] Problème avec cron
Il faudrait regarder la doc, surtout la fin du paragraphe 2.
Cordialement,
Guy
Hors ligne
#3 Le 27/03/2012, à 18:51
- le_radis_masque
Re : [Résolu] Problème avec cron
J'ai donc mis
* * * * * DISPLAY=:0 /home/***/.wallpaper.sh
et cela marche.
Merci beaucoup !
Et RTFM pour moi, donc (j'avoue ne pas avoir lu la doc' du forum, mais plutôt celle donnée par man crontab, j'y penserais la prochaine fois ! )
Merci beaucoup pour cette réponse rapide !
Hors ligne
#4 Le 27/03/2012, à 19:43
- pingouinux
Re : [Résolu] Problème avec cron
Salut,
Le script du #1 peut être simplifié :
#!/bin/bash
dossier='/home/***/Images/Wallpaper/'
wallpaper=$(sort -R <(ls "$dossier") | head -1)
gsettings set org.gnome.desktop.background picture-uri file://"$dossier""$wallpaper"
Ajouté :
La ligne wallpaper=... peut aussi être remplacée par :
wallpaper=$(head -1 <(sort -R <(ls "$dossier")))
Dernière modification par pingouinux (Le 27/03/2012, à 19:47)
Hors ligne
#5 Le 27/03/2012, à 20:44
- le_radis_masque
Re : [Résolu] Problème avec cron
@pingouinux : Merci beaucoup !
Hors ligne