J' ai cherché sur le forum une solution pour pouvoir changé de fond d'écran automatiquement...
... et j'ai pas trouvé !
Puisque sur les autres OS que j'ai testé il y avait déjà cette option de proposé au moment du choix du fond d'écran je me suis dit que
cela serait pas mal de trouvé un petit script qui le fasse et j'ai pas trouvé non plus. Donc j'en ai écrit un et je le partage avec vous .
Le voici :
#!/bin/sh
if [ $# -gt 1 ]
then
echo
echo "USAGE : $0 HH:MM:SS"
echo "IF YOU DON'T DECLARE TIME, IT WILL BE AN HOUR"
echo
exit
fi
if [ $# -eq 1 ]
then
if [ `echo $1 | tr -d [1,2,3,4,5,6,7,8,9,0]` != :: ]
then
echo
echo "$1 NOT LEGAL TIME : HH:MM:SS"
echo
exit
fi
TempsAttente=$1
else
TempsAttente=01:00:00
fi
if [ $TempsAttente = :: ]
then
TempsAttente=00:30:00
fi
if [ ! -d $HOME/.ImagesDeFond ]
then
mkdir $HOME/.ImagesDeFond
echo
echo "PUT SOME PICTURES IN $HOME/.ImagesDeFond"
echo
exit
else
rmdir $HOME/.ImagesDeFond 2> $HOME/test.tmp
if [ `cat $HOME/test.tmp | wc -c` -eq 0 ]
then
rm $HOME/test.tmp
mkdir $HOME/.ImagesDeFond
echo
echo "PUT SOME PICTURES IN $HOME/.ImagesDeFond"
echo
exit
fi
fi
S=`echo $TempsAttente | cut -d: -f3`
M=`echo $TempsAttente | cut -d: -f2`
H=`echo $TempsAttente | cut -d: -f1`
M=`expr $M \* 60`
H=`expr $H \* 3600`
TempsAttente=`expr $S + $M + $H`
if [ -f $HOME/.ImagesDeFond/ListPictures.txt ]
then
t=`ls $HOME/.ImagesDeFond | wc -l`
t=`expr $t - 1`
if [ $t -ne `cat $HOME/.ImagesDeFond/ListPictures.txt | wc -l` ]
then
rm -f $HOME/.ImagesDeFond/ListPictures.txt
fi
fi
if [ ! -f $HOME/.ImagesDeFond/ListPictures.txt ]
then
ls $HOME/.ImagesDeFond | sed 's:\(.*\):'$HOME'/.ImagesDeFond/\1:' > $HOME/.ImagesDeFond/ListPictures.tmp
cat $HOME/.ImagesDeFond/ListPictures.tmp | grep -v "ListPictures.tmp" > $HOME/.ImagesDeFond/ListPictures.txt
rm $HOME/.ImagesDeFond/ListPictures.tmp
fi
n=`cat $HOME/.ImagesDeFond/ListPictures.txt | wc -l`
n=`expr $n - 1`
i=0
taille=`du -b $HOME/.ImagesDeFond | tr "\t" ! | cut -f1 -d"!"`
while [ $i -eq 0 ]
do
fondec=`head -n1 $HOME/.ImagesDeFond/ListPictures.txt`
tail -n $n $HOME/.ImagesDeFond/ListPictures.txt > $HOME/.ImagesDeFond/toto.tmp
echo $fondec >> $HOME/.ImagesDeFond/toto.tmp
mv $HOME/.ImagesDeFond/toto.tmp $HOME/.ImagesDeFond/ListPictures.txt
if [ $taille -ne `du -b $HOME/.ImagesDeFond | tr "\t" ! | cut -f1 -d"!"` ]
then
i=1
rm -f $HOME/.ImagesDeFond/ListPictures.txt
fi
gsettings set org.gnome.desktop.background picture-uri "file://$fondec"
sleep $TempsAttente
done
DiapoFondec.sh $1
Pour l'utiliser:
il faut le copier puis le coller dans scratch ( ou vim , ou ...)
le nommer DiapoFondec.sh
le placer dans le dossier bin de votre home ( créé le si vous en avez pas puis déconnecter vous et reconnecter vous pour mettre a jour le PATH)
le rendre executable, ouvrir un terminal et entrer ligne par ligne les commandes suivantes:
$ cd ~/bin/
$ chmod u+x DiapoFondec.sh
A la première exécution sans erreur d'argument ce script va créer le dossier .ImagesDeFond (caché) dans lequel il va vous demander de placer les images que vous souhaitez avoir comme fond d'écran.
Une fois que vous l'avez fait il ne vous reste qu'a le réexecuter . Par exemple :
$ DiapoFondec.sh 00:15:00
Ici votre fond d'écran va changer toutes les 15 minutes.
Petit + : Si vous voulez qu'il s'execute au démarrage, alors dans un terminal executez cette commandes :
$ gnome-session-properties
et sur la fenêtre qui s'ouvre cliquer sur "Ajouter" puis dans la case commandes rentrez "DiapoFondec.sh <votreTemps>" ( vous pouvez aussi donner un nom et écrire un commentaire) et enfin cliquer sur "Ajouter".
PS: Si il est lancé sans probleme ce script ne s'arrete pas, il faut donc utiliser "Ctrl+c" pour l'arreter.
J'espere que ce petit tuto vous a plu, n'hésitez pas à me poser des questions si vous avez besoin !