J'ai utilisé gsettings set org.gnome.desktop.background picture-uri 'file://PathToImage'
pour définir une image comme fond d'écran comme suggéré dans cette réponse . Cela ne fait pas le travail correctement. Pour l'image d'aujourd'hui bing, script here change mon arrière-plan comme ceci
Cela se produit au hasard et parfois, il définit le papier peint correctement. À l'aide de l'interface graphique, définir l'image comme fond d'écran en cliquant dessus avec le bouton droit de la souris fonctionne correctement à chaque fois. Des causes possibles de ce problème?
Edit1: Le téléchargement est parfaitement correct. Comme je l'ai mentionné, je peux définir la photo comme fond d'écran en cliquant avec le bouton droit de la souris et en choisissant "Définir comme fond d'écran" dans le menu.
Vous avez mentionné
Le téléchargement est parfaitement correct. Comme je l'ai mentionné, je peux définir la photo comme fond d'écran en cliquant avec le bouton droit de la souris et en choisissant "Définir comme fond d'écran" dans le menu.
Comme vous pouvez définir manuellement le papier peint, le problème peut se trouver sur le cache, qui est généré avant que le téléchargeur écrive complètement les données du fichier. Il est donc nécessaire de régénérer le cache dans ce type de cas.
Supprimez donc le cache de papier peint rm /home/$USER/.cache/wallpaper/*
. Ajoutez ce code à la fin du script après quelques sleep
.
/home/$USER/.cache/wallpaper/
Ça y est, vous pouvez voir les modifications sur le fond d'écran (si vous faites pivoter l'image, le fond d'écran subira également une rotation)
La commande suivante est correcte et devrait fonctionner en toutes circonstances:
gsettings set org.gnome.desktop.background picture-uri 'file://PathToImage'
Donc, je suppose que la raison principale pour laquelle cela s’est produit est que, comme @ d3vid l’a noté dans son commentaire : , le téléchargement échoue (le téléchargement d’un fichier partiel seulement) ) ou l’arrière-plan est affiché avant la fin du téléchargement .
Pour résoudre votre problème, assurez-vous d'avoir une meilleure connexion Internet lorsque vous exécutez le script à partir de votre question ou essayez d'utiliser curl
au lieu de wget
comme dans le script de ma réponse. ici .
Peut-être que dans le script, vous devriez d'abord télécharger la nouvelle image dans un fichier temporaire du type:
wget --no-proxy --output-document=dwallpaper.temp (...)
Et seulement après que la commande wget
est terminée, faites:
cp dwallpaper.temp dwallpaper
De cette façon, gsettings
pointe toujours sur un fichier téléchargé à 100%, ce qui peut résoudre le problème que vous avez observé.