#1 Le 09/11/2014, à 19:39
- Nym
[Résolu] Script changement fond écran
Bonjour.
Wallch ne fonctionnant pas sous la 14.04, j'aimerais faire un script bash pour changer l'image de fond d'écran. En cherchant sur Internet j'ai trouvé quelques trucs et je pensais notamment passer par la commande suivante :
gconftool -t string -s /desktop/gnome/background/picture_filename "$PIC"
Mais il ne se passe rien.
Dernière modification par Nym (Le 03/07/2015, à 21:52)
Nym
Ubuntu 18.04.1 LTS 64bits
Hors ligne
#2 Le 09/11/2014, à 20:34
- tiramiseb
Re : [Résolu] Script changement fond écran
Salut,
gconftool est progressivement abandonné depuis plusieurs années.
L'équivalent aujourd'hui serait quelque chose comme :
gsettings set org.gnome.desktop.background picture-uri "$PIC"
(à confirmer, non testé)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 11/11/2014, à 23:21
- Nym
Re : [Résolu] Script changement fond écran
Salut !
Merci pour le tuyau ! En fait, dans mon cas (image en local sur le poste), c'est plus précisément :
gsettings set org.gnome.desktop.background picture-uri file:///"$PIC"
Nym
Ubuntu 18.04.1 LTS 64bits
Hors ligne
#4 Le 22/11/2014, à 22:57
- Nym
Re : [Résolu] Script changement fond écran
Bonsoir.
La commande fonctionne bien en direct et dans un script. Mais lorsque je lance le script via cron, l'image n'est pas changée. Pourtant le script est bien lancé toutes les heures comme demandé (l'évolution d'un fichier de logs en témoigne), mais l'image de fond d'écran, elle, ne change pas. Ou plutôt je vois le changement lorsque je redémarre le PC : c'est la dernière image changée par le script qui s'affiche. J'ai l'impression qu'il manque une commande de rafraîchissement ou quelque chose du genre.
Une idée ?
Nym
Ubuntu 18.04.1 LTS 64bits
Hors ligne
#5 Le 22/11/2014, à 23:12
- tiramiseb
Re : [Résolu] Script changement fond écran
Essaye à tout hasard d'ajouter "DISPLAY=:0" devant gsettings...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#6 Le 22/11/2014, à 23:13
- J5012
Re : [Résolu] Script changement fond écran
et une alternative a wallch ?
http://doc.ubuntu-fr.org/fond_d_ecran
ou le ppa officiel de la team wallch : https://launchpad.net/~wallch/+archive/ … wallch-4.0
explications de itworld 25 juin 2014 : en fait il s'agit de wallch 4.18x et non 4.5
Hors ligne
#7 Le 22/11/2014, à 23:55
- Compte anonymisé
Re : [Résolu] Script changement fond écran
Il y a
https://doc.ubuntu-fr.org/cortina
Et
https://doc.ubuntu-fr.org/wally
OK ce ne sont pas des scripts mais des applications
Voir ici
https://doc.ubuntu-fr.org/fond_d_ecran
#8 Le 23/11/2014, à 00:56
- J5012
Re : [Résolu] Script changement fond écran
je viens de mettre à jour la doc de wallch : http://doc.ubuntu-fr.org/wallch
Hors ligne
#9 Le 23/11/2014, à 01:31
- bishop
Re : [Résolu] Script changement fond écran
Hors sujet...
Dans la documentation ubuntu-fr => Gestion du fond d'écran il manque (entre autres) :
SyncWall
SyncWall, un gestionnaire de fonds d'écran multi-moniteurs.
SyncWall, wallpaper manager with synchronization features sur SourceForge.
syncWall par le développeur sur le Forum QtFR.
SyncWall est un gestionnaire de fonds d'écran comme bien d'autres mais il a comme particularité de pouvoir synchroniser les changements entre plusieurs machines par un mécanisme client/serveur simple (voir simpliste). Il a de plus un support limité du multi écran et la possibilité d'affecter un effet (flou,oilpaint, ...) avant d'afficher l'image en fond d'écran.
Wallpaper manager
Wallpaper manager, un script Nautilus présenté sur Gnome Look.
Wallpaper Manager sur Noobs Lab.
Dernière modification par bishop (Le 23/11/2014, à 01:34)
La plus grande surprise que puisse faire un con c'est de faire une pause.
Hors ligne
#10 Le 23/11/2014, à 08:12
- Compte anonymisé
Re : [Résolu] Script changement fond écran
@bishop
Il ne s'agit pas d'un hors sujet loin de là...
Tu apportes d'autres solutions intéressantes à notre ami
#11 Le 23/11/2014, à 08:46
- Ferod
Re : [Résolu] Script changement fond écran
Salut !
Merci pour le tuyau ! En fait, dans mon cas (image en local sur le poste), c'est plus précisément :
gsettings set org.gnome.desktop.background picture-uri file:///"$PIC"
J'utilise quotidiennement cette commande pour changer mes fonds d'écran :
gsettings set org.gnome.desktop.background picture-uri "file:///home/sebastienm/Images/$nomFinal"
Comme tu le vois il y a une petite différence sur les guillemets. Peut-être que c'est ça qui empêche la mise à jour chez toi.
Si tu utilise ubuntu Gnome tu peux aussi mettre le même fond d'écran à l'écran de verrouillage avec cette commande :
gsettings set org.gnome.desktop.screensaver picture-uri "file:///home/sebastienm/Images/$nomFinal"
"When I was in the military, they gave me a medal for killing
two men, and a descharge for loving one !" Leonard Matlovich
Hors ligne
#12 Le 23/11/2014, à 09:14
- tiramiseb
Re : [Résolu] Script changement fond écran
Je suis d'accord avec NeoUbuntonien : tes précisoins, bishop, sont loin d'êtres hors sujet. Je pense que tu peux éditer la doc pour ajouter ces infos.
Ferod: l'emplacement des guillemets ne change rien, le résultat est le même.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#13 Le 23/11/2014, à 10:39
- bishop
Re : [Résolu] Script changement fond écran
NéoUbuntonien !
C'est possible... Merci.
tiramiseb !
Merci. J'ai ajouté les deux gestionnaires à la doc.
La plus grande surprise que puisse faire un con c'est de faire une pause.
Hors ligne
#14 Le 28/11/2014, à 22:55
- Nym
Re : [Résolu] Script changement fond écran
J'utilise quotidiennement cette commande pour changer mes fonds d'écran :
gsettings set org.gnome.desktop.background picture-uri "file:///home/sebastienm/Images/$nomFinal"
Comme tu le vois il y a une petite différence sur les guillemets. Peut-être que c'est ça qui empêche la mise à jour chez toi.
Bonsoir Ferod.
Tu lances la commande manuellement ? J'ai tenté de faire la même chose, mais j'ai toujours le même comportement : l'image de fond d'écran est bien changée lorsque je lance mon script à la main, mais pas lorsqu'il est exécuté via cron.
Nym
Ubuntu 18.04.1 LTS 64bits
Hors ligne
#15 Le 29/11/2014, à 08:43
- Ferod
Re : [Résolu] Script changement fond écran
Bonjour
Oui je le lance manuellement. Je me suis défini un alias pour que ça soit très simple. Il me semble que j'avais eu le même problème que toi lorsque j'avais voulu l'automatiser.
Par contre je m'étais noté quelques notes quand j'avais essayé. J'avais utilisé gnome-schedule et j'avais déclaré une tache en tant qu'"Application X" en spécifiant le chemin vers le script (avec les droits d’exécution). D'ailleurs je viens de le refaire et ça fonctionne. Comment tu fais toi ? Tu définis manuellement la tache cron ?
"When I was in the military, they gave me a medal for killing
two men, and a descharge for loving one !" Leonard Matlovich
Hors ligne
#16 Le 29/11/2014, à 09:12
- tiramiseb
Re : [Résolu] Script changement fond écran
En même temps, Nym, tu n'as pas dit comment tu définis ta tâche cron...
Et si tu nous disais ce que tu fais précisément pour créer ta tâche ?
Le problème est peut-être là, plutôt qu'au niveau de la commande...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#17 Le 29/11/2014, à 17:54
- Nym
Re : [Résolu] Script changement fond écran
J'ai utilisé la commande crontab -e pour définir ma tâche et crontab -l me donne (entre autres lignes)
0 * * * * /home/my_user/wallpaper.sh
Cette programmation fonctionne car j'ai mis dans mon script wallpaper.sh une ligne pour ajouter à la fin d'un fichier de logs le chemin complet de la nouvelle image :
date "+%Y-%m-%d %H:%M $PIC" >> ./wallpaper.log
Et le fichier de logs est bien mis à jour toutes les heures.
Soit dit en passant j'ai installé Cortina hier soir et le fond d'écran ne change pas non plus.
Nym
Ubuntu 18.04.1 LTS 64bits
Hors ligne
#18 Le 11/01/2015, à 16:55
- Nym
Re : [Résolu] Script changement fond écran
Bonjour.
Dans le fichier /var/cron/log, je trouve les lignes suivantes toutes les heures :
Jan 11 16:00:01 ma_machine CRON[5146]: (mon_user) CMD (/home/mon_user/wallpaper.sh)
Jan 11 16:00:01 ma_machine CRON[5145]: (mon_user) MAIL (mailed 1 byte of output; but got status 0x004b, #012)
Jan 11 16:09:01 ma_machine CRON[5175]: (root) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -x /usr/lib/php5/sessionclean ] && [ -d /var/lib/php5 ] && /usr/lib/php5/sessionclean /var/lib/php5 $(/usr/lib/php5/maxlifetime))
Est-ce quelqu'un saurait m'expliquer les deux dernières lignes ? La dernière a-t-elle un lien avec les deux premières ?
Nym
Ubuntu 18.04.1 LTS 64bits
Hors ligne
#19 Le 11/01/2015, à 16:57
- tiramiseb
Re : [Résolu] Script changement fond écran
La dernière n'a pas de lien avec les deux premières, d'ailleurs elle est exécutée 9 minutees plus tard, avec un PID supérieur de 30.
La seconde indique qu'un e-mail a été envoyé par cron...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#20 Le 11/01/2015, à 18:28
- Nym
Re : [Résolu] Script changement fond écran
Comment puis-je savoir vers quel destinataire le mail a été envoyé ?
Nym
Ubuntu 18.04.1 LTS 64bits
Hors ligne
#21 Le 11/01/2015, à 19:03
- tiramiseb
Re : [Résolu] Script changement fond écran
Je n'en ai aucune idée. Je ne sais pas si cron consigne cette info.
Cela dit, si c'est lié à ton job alors c'est envoyé à l'utilisateur propriétaire du job.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#22 Le 20/02/2015, à 11:48
- zoulbiba
Re : [Résolu] Script changement fond écran
Bonjour Nym,
essaye de renseigner le chemin complet de la commande gsettings dans ton script pour le faire fonctionner dans une crontab:
/usr/bin/gsettings
Dernière modification par zoulbiba (Le 20/02/2015, à 11:59)
Hors ligne
#23 Le 03/07/2015, à 21:51
- Nym
Re : [Résolu] Script changement fond écran
Bonjour.
Après plusieurs recherches sur Internet et de nombreuses tentatives, j'ai enfin réussi.
Voici le script :
#!/bin/bash
# Script pour modifier le fond d'écran avec une image aléatoire
# Historique
# Date Auteur Ver. Description
# 2013-09-25 Sylvain Crouet 1.0 Création
# 2015-07-01 Sylvain Crouet 1.1 Correction/prise en compte de bugs (ex : mise à jour de l'image pas systématique)
### Variables ###
# Répertoire (et ses sous-répertoires) contenant les images
RepImg="/home/sylvain/Images/Fonds d'écran/"
# Fichier de logs
FicLog="./wallpaper.log"
# Verbosité
Verbosite=0
# Récupération et export de DBUS_SESSION_BUS_ADDRESS
PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
export DISPLAY=:0
# Vérification que DBUS_SESSION_BUS_ADDRESS n'est pas vide avant de poursuivre
if [ -n "$DBUS_SESSION_BUS_ADDRESS" ]; then
# Sélection aléatoire d'une image dans RepImg et ses sous-répertoires
FicImg=$(find "$RepImg" -name \*.jpg | shuf -n1)
if [ $Verbosite -gt 0 ]; then
date "+%Y-%m-%d %H:%M ${FicImg:${#RepImg}}" >> $FicLog
fi
# Affichage de l'image en fond d'écran
gsettings set org.gnome.desktop.background picture-uri "file://$FicImg" >> $FicLog 2>&1
else
if [ $Verbosite -gt 0 ]; then
date "+%Y-%m-%d %H:%M DBUS_SESSION_BUS_ADDRESS vide" >> $FicLog
fi
fi
Le point clef de la solution, c'est la variable DBUS_SESSION_BUS_ADDRESS. Tant qu'elle est vide la commande gsettings modifie bien la valeur de org.gnome.desktop.background picture-uri mais l'affichage ne change pas. Et cette variable n'est pas renseignée tant que l'utilisateur ne s'est pas logué.
Nym
Ubuntu 18.04.1 LTS 64bits
Hors ligne