Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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é)

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...

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 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

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

Nym a écrit :

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.

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

Ferod a écrit :

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...

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...

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.

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