J'aime bien que mon fond d'écran change régulièrement :cool:. Depuis quelques années, j'utilisais (malgré des plantages réguliers :mad:), wallpaper-tray. Mais c'est fini ! Plus développé, il a été supprimé des dépôts :(… Il existe bien wallpapoz et drapes mais être obligé de spécifier chaque image que je souhaites utiliser, bof :?… Je préfères simplement dire dans quel répertoire sont mes images. Il y a wally que je trouve très bien mais qui utilise les librairies KDE. Je n'ai rien contre KDE mais je suis sous GNOME et installer 260 Mo de dépendances (sans compter l'occupation mémoire) juste pour faire fonctionner wally, pas top :shock:…
ATTENTION : Ce qui suit va vous faire utiliser un "bout de code" fait maison. Il ne contient ni virus, ni malware, ni spyware encore moins de bombe thermonucléaire ou de tarte à la crème ! Malgré tout, ce n'est pas du code "Made in Ubuntu" tel que nous pouvons en trouver dans le dépôts officiels. Donc ne venez pas vous plaindre si votre PC explose, fond 😯 ou je ne sais quoi par le simple fait d'utiliser mon "bout de code" ;).
Ceci étant dit, le problème est plutôt simple :
Dans un répertoire, prendre une image — de façon aléatoire — et
s'en servir comme fond d'écran. Recommencez toutes les X minutes.
C'est clair, non ?
Donc, dans la série "On n'est jamais mieux servit que par soi-même" et "Pourquoi faire compliquer quand on peut faire simple" (et pas l'inverse :D), je me suis écris un petit bout de Perl pour accomplir cette tâche : changewallpaper.pl.
Son fonctionnement est le suivant :
./changewallpaper.pl "~/Chemin/vers/mes papiers peints" temps
Pas de fichier de configuration, juste deux paramètres : Le premier est le chemin vers vos fonds d'écran (entre guillemets) et le second est l'intervalle de temps (en minutes) entre deux changements.
Remarque importante : Sur certains systèmes, un chemin absolu est nécessaire.
De plus, évitez les noms trop éxotiques pour vos noms de fichiers (certains caractères de ponctuation comme # ou ").
Pour que cela fonctionne tout seule, il suffit d'ajouter cette commande dans les programmes au démarrage.
Explications :
- Placez changewallpaper.pl à la racine de votre dossier personnel.
- Rendez le exécutable. Soit en allant dans "Raccourcis > Dossier personnel", cliquez droit sur changewallpaper.pl puis "Propriétés", onglet "Permissions" et cochez "Autoriser l'exécution du fichier comme un programme". Ou dans un terminal :
- Allez dans "Système > Préférences > Applications au démarrage"
- Cliquez sur "Ajouter"
- Dans la boite qui est apparue, renseignez "Nom" et "Commande".
- Pour "Nom", mettez ce que vous voulez. Exemple :
- Pour "Commande" reprenez la syntaxe vue plus haut en adaptant le répertoire et le temps. Exemple :
- Enfin, cliquez sur "Ajouter" puis "Fermer"
À la prochaine ouverture de session, votre fond d'écran changera tout seul !
Quelques précisions :
- Ce "bout de code" ne fonctionne que sous Ubuntu pas sous Kubuntu :?.
- L'ajout et la suppression de fond d'écran dans le répertoire se fait "à chaud", pas besoin de redémarrer le programme;
- Les images doivent être aux dimensions de l'écran.
Mon bout de Perl n'est certainement pas la solution idéal mais il remplit sa tâche de façon simple sans installation particulière ni consommation de ressource excessive. J'ai pu l'installer sur une vieille machine avec peu de mémoire et sur mon Dell Mini 9 dont le gain d'espace disque est un combat de tout les jours. Juste un bout de Perl comme je les aime :mrgreen:…
PS : Et dans la série "Je programme avec des moufles", assurez vous d'avoir la version 1.0.2. Une boulette s'est glissé dans les précédentes versions concernant le parcours du répertoire :mad:…
Salut, dans la dernière Ubuntu (et la version d’avant il me semble), il y a un wallpaper spécial qui change tout seul. Ce sont les photos de MS dans l’espace.
Il doit être possible de copier le principe pour d’autre diapo de wallpaper.
J’ai bien vu aussi cet histoire de diaporama dans Ubuntu. Sauf qu’en fouillant un peu, je me suis aperçu qu’il est associé à un fichier XML. Donc pour moi, c’est comme wallpapoz ou drapes : Pas simple d’utilisation…
Bonsoir,
je ne comprends pas pourquoi mais le script me dit que j’ai 0 image dans le répertoire… pourtant j’en ai mis en jpg et au format de l’écran… je ne sais pas où j’ai pu me planter.
une idée ?
pour aider 🙂
laptop:~$ ./changewallpaper.pl « ~/Images/wallpaper/ » 2
0 images trouvées dans ~/Images/wallpaper
laptop:~$ cd ~/Images/wallpaper
laptop:~/Images/wallpaper$ ls
1 (copie).jpg 1.jpg
Salut,
super ce p’tit script,
court précis rapide,
très bonne initiative ! ^ ^
Merci.
J’ai trouvé le problème, récupère de nouveau changewallpaper.pl et ça devrait marcher.
@Sbskl
Bon en soi, l’xml n’a pas une structure très complexe. C’est :
– Afficher Wallpaper 1 pendant x secondes
– Faire la transition avec Wallpaper 2 pendant x secondes
– Afficher Wallpaper 2 pendant x secondes
– etc…
A la limite, ça pourrait être intéressant de faire un script qui génère ce fichier xml en prenant en input un dossier d’images. Je vais essayer de creuser dans cette direction si j’ai un peu de temps…
Tu as raison, il n’est pas compliqué mais est ce que GNOME le relit en live si tu le modifie ?
De toute façon, je ne voulez pas exécuter/paramétrer quoi que se soit en ajouter un papier peint mais qu’il soit simplement pris en compte dès qu’il est placé dans le répertoire.
On n’est jamais mieux servi que par soit même… ou que par KDE ! :p
Néanmoins, belle initiative à la DIY.
Billet intéressant, je cherchais justement la même chose il y a quelque temps et je me suis tourné vers la solution du script Bash qui génère un fichier XML pour ensuite être directement lu par Gnome.
Par contre, il faut régénérer le fichier dès qu’il y a une nouvelle image
Voici mon script bash (attention il n’est peut être pas exempt de faute et il y a très peu de contrôle sur les données entrées, mais il peut servir de piste). Il faut passer le chemin du dossier contenant les images en argument.
#!/bin/bash
# Create an animate background, with a XML file linking to all images in a folder
Filename= »wallpaper.xml »
Duration= »1795.0″ #1795.0
cd $1 || exit 1
tableau=( *.jpg )
Final= »$1/${Filename} »
cat>$Final<<EOF
2010
05
01
00
00
00
EOF
for i in ${!tableau[@]}; do
cat>>$Final<<EOF
$Duration
${1}/${tableau[i]/ /\ }
5.0
${1}/${tableau[i]/ /\ }
${1}/${tableau[i+1]/ /\ }
EOF
done
echo » >> $Final
Voici le lien, c’est plus simple que de poster le code en commentaire : http://pastebin.com/97aJMKfS
Ya pas cette option par défaut dans gnome? Je suis sur le c…
C’est le moment d’installer *KDE*, cette option a toujours existé…
Oui mais je ne suis pas fan de KDE. L’interface me fait trop penser à Windows… De toute façon, les gouts et les couleurs… De plus, j’utilise aussi la Netbook Edition ;o)
Sympa ton code mais comme je l’ai dis plus haut, je ne voulais pas exécuter/paramétrer quoi que se soit pour prendre en compte une nouvelle image.
@Alexis
En effet, sous KDE au choix du wallpaper on peut choisir un diaporama pour avoir un wallpaper qui change à intervalle régulier.
Mais contrairement à Wally, c’est limité à un dossier en local.
Beaucoup plus simple, pour remplacer Wallpaper-Tray, installez DesktopNova.
Il suffit de rajouter ce lien dans vos sources:
deb http://ppa.launchpad.net/haliner/ppa/ubuntu lucid main
deb-src http://ppa.launchpad.net/haliner/ppa/ubuntu lucid main
ensuite:
sudo apt-get update
sudo apt-get install desktopnova
L’icone se trouvera installe sous Accessoires.
Cela fonctionne sans problem sous Lucid 10.04
Ping : July 23rd : Cette semaine sur le net…
ça marche nickel. merci beaucoup.
Bonsoir,
Impeccable!!! Surtout avec la 1.0.2 ;o)
Merci et bonne soirée.
Christian
Merci pour le script
j’ai placé changewallpaper dans /usr/local/bin et j’utilise nautilus-actions pour lancer le diaporama depuis le clic droit de nautilus
dans la config nautilus-actions à Path j’ai mis changewallpaper.pl et dans Paramètres %M 60
hello!
génial le pastbin.com!
j’avais trouvé ce script bash y’a quelques temps pour changer mon fond d’écran, modifié grâce aux membres du forum pour le mettre à jour et chez moi ça marche toujours depuis :
http://pastebin.com/GBC94C2r
Si ça intéresse quelqu’un…
++
wallpapoz s’initialise très bien avec des répertoires…
Très bien ce petit script.
Merci