web-dev-qa-db-fra.com

La définition du papier peint dans Gnome avec la ligne de commande ne fonctionne qu'une seule fois

J'ai écrit un petit script python, qui télécharge une image astronomique aléatoire du jour, puis le définit comme fond d'écran.

Quand j’étais sur Ubuntu 13.10 avec gnome installé, ce script fonctionnait bien, et j’ai dû changer mon arrière-plan via cronjob toutes les quelques heures et cela a bien fonctionné.

Cependant, maintenant que j'ai installé Ubuntu Gnome 13.10, il se comporte très étrangement. Le téléchargement fonctionne bien, chaque fois que je lance le script, une nouvelle image est en cours de téléchargement. Cependant, il ne change le papier peint que la première fois après un nouveau départ/une nouvelle connexion. À partir de la deuxième exécution, une animation est affichée sur le bureau (devient bleuâtre), mais le fond d'écran reste le même, même s'il y a une image différente. enregistré dans mon répertoire de fond d'écran. Lorsque je me déconnecte puis que je me reconnecte, la nouvelle image apparaît comme fond d'écran.

Est-ce que quelqu'un sait ce qui peut le causer? J'ai trouvé this et l'ai implémenté, mais cela n'a rien changé. De plus, je pense que cela n’est pas lié à crontab, car il échoue également par une exécution manuelle.

La commande utilisée pour définir le papier peint est la suivante

gsettings set org.gnome.desktop.background picture-uri file:///path/to/file.jpg

EDIT: La commande ci-dessus est la seule partie pertinente, car l’exécution directe par le terminal entraîne le même comportement.

1
stebu92

En essayant un peu et en lisant sur le bogue, j’ai trouvé une solution de contournement très simple.

Vous devrez activer votre commande "picture-url" en désactivant et en activant la saisie de l’arrière-plan. En gros, votre ligne devrait ressembler à ceci:

gsettings set org.gnome.desktop.background draw-background false && gsettings set org.gnome.desktop.background picture-uri file:///home/$USER/Imágenes/pic.jpg && gsettings set org.gnome.desktop.background draw-background true

Je viens de faire un one-line qui fait gsettings set org.gnome.desktop.background draw-background false changer le mur puis réactiver l'entrée. :)

Il fonctionne comme un charme! Merci pour la question! ^ _ ^

4
Rho

J'ai eu ce problème aussi, dans mon cas, il s'est avéré que les descripteurs de fichiers X présentaient des fuites et se sont finalement épuisés (j'ai changé de fond d'écran toutes les 15 minutes).

La solution était:

gsettings set org.gnome.desktop.background picture-uri ""
wget https://path/to/image.jpg -O ~/wp.jpg
gsettings set org.gnome.desktop.background picture-uri "file:///home/me/wp.jpg"

Désactiver puis définir le papier peint a résolu le problème.

1
user230910
0
Wolfgang