Ich verwende 12.04 mit einem benutzerdefinierten XML-Hintergrund (Änderung am Tag von Ubuntu), der sich je nach Tageszeit ändert. Ich habe festgestellt, dass es eine erhebliche Verzögerung zwischen dem geplanten Zeitpunkt für die Änderungen in der XML-Datei und dem tatsächlichen Erscheinen im Hintergrund gibt. Ich habe auch festgestellt, dass ich beim Fortsetzen von Suspend auch nicht das richtige Hintergrundbild erhalte. Ich habe festgestellt, dass das manuelle Durchlaufen des Hintergrundbilds dieses Problem behebt, und ich habe ein Skript geschrieben, um den Prozess zu automatisieren.
Wenn ich das Skript manuell ausführe, funktioniert es einwandfrei. Wenn ich jedoch plane, dass das Skript in cron ausgeführt wird, ändert cron den Hintergrund nicht. Um sicherzustellen, dass das Skript von cron ordnungsgemäß ausgeführt wurde, ließ ich es nach dem Ausführen der Hintergrundänderung ein Verzeichnis in meinem Basisordner erstellen. Das Verzeichnis wurde erfolgreich erstellt, sodass ich weiß, dass cron das Skript ausführt und ausführt.
Mein Skript:
#!/bin/bash
sleep 5
gsettings set org.gnome.desktop.background picture-uri
file:///home/zak/Pictures/Wallpaper/DOU2.xml
sleep 1
gsettings set org.gnome.desktop.background picture-uri
file:///home/zak/Pictures/Wallpaper/DOU.xml
sleep 1
mkdir /home/zak/iscronworking
exit
Kann cron einfach nicht darauf zugreifen gsettings
? Der Job befindet sich auf meinem Benutzer crontab, daher sollte er nicht als root ausgeführt werden.
quelle
PID=$(pgrep -u $USER gnome-session)
, um zu vermeiden, dass sich die Hintergründe anderer ändern.Ich hatte vor ungefähr einem Monat das gleiche Problem. Ich habe auch ein Skript erstellt, mit
gsettings
dem der Desktop-Hintergrund in Gnome Shell / Unity geändert wird.Durch manuelles Ausführen dieses Befehls wird der Desktop-Hintergrund sofort aktualisiert. Ich verwende cron auch, um die Ausführung meines Skripts zu planen:
Wie in Ihrem Fall führt cron das Skript erfolgreich aus und der neue Hintergrund-URI wurde erfolgreich eingerichtet
gsettings
. Sie können dies testen, indem Sie Folgendes ausführen:Der Desktop-Hintergrund wird jedoch nicht aktualisiert, wenn cron das Skript ausführt (dies funktionierte bis vor etwa einem Monat). Interessanterweise wird der Desktop-Hintergrund plötzlich auf das richtige Bild aktualisiert, wenn ich mit der rechten Maustaste auf meinen Desktop klicke und "Desktop-Hintergrund ändern" auswähle.
Aus irgendeinem Grund veranlasst das Ändern des Desktop-Hintergrunds von cron Nautilus nicht mehr, den Desktop-Hintergrund zu aktualisieren. Ich vermute, dass dies ein Fehler ist, daher habe ich gerade einen Fehlerbericht für dieses Problem eingereicht: https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/1033034
Bitte klicken Sie auf "Betrifft Sie dieser Fehler?" Link, wenn Sie das gleiche Problem haben.
quelle