Verwenden Sie für xfce4 in Xubuntu 14.04 die Eigenschaft / backdrop / screen0 / monitorDisplayPort-1 / workspace0 / last-image anstelle von / backdrop / screen0 / monitor0 / image-path
Sie müssen auch die Umgebungsvariable DBUS_SESSION_BUS_ADDRESS wie folgt festlegen:
PID=$(pgrep xfce4-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
In meinem Fall wollte ich das Hintergrundbild (zufälliges Bild aus einem ausgewählten Ordner) einmal am Tag drehen, aber ich schalte meinen PC unregelmäßig ein, sodass ich es gelöst habe, indem ich jede halbe Stunde ein Skript von cron ausgeführt habe, das jedoch nur einmal wirksam wird ein Tag.
Eintrag in crontab (über crontab -e
Befehl hinzufügen ):
0,30 * * * * /home/lucifer/scripts/rotate-wallpaper.sh
rotate-wallpaper.sh:
#!/bin/bash
wallpaperdir="/home/lucifer/Pictures/wallpapers"
datefile="/home/lucifer/.wallsw"
thisday=$( date +%j )
wallfiles=($wallpaperdir/*)
randompic=`printf "%s\n" "${wallfiles[RANDOM % ${#wallfiles[@]}]}"`
PID=$(pgrep xfce4-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
if [ -f "$datefile" ]
then
lastday=$( cat "$datefile" )
if [ "$lastday" != "$thisday" ]
then
date +%j > "$datefile"
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorDisplayPort-1/workspace0/last-image --set $randompic
fi
else
date +%j > "$datefile"
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorDisplayPort-1/workspace0/last-image --set $randompic
fi
Hinweis: -Wenn Sie ein nicht englisches Systemgebietsschema verwenden, kann die Eigenschaft einen anderen Namen haben. Der beste Weg, um den Eigenschaftsnamen herauszufinden, ein Terminalfenster zu öffnen und diesen Befehl auszuführen:
xfconf-query -c xfce4-desktop -m
Dadurch wird die Überwachung der xfce4-Desktop-Eigenschaften aktiviert. Ändern Sie nun Ihren Hintergrund manuell. Der Eigenschaftsname, der von dieser Änderung betroffen war, sollte im Terminalfenster angezeigt werden. Verwenden Sie diesen Eigenschaftsnamen, wenn er sich von / backdrop / screen0 / monitorDisplayPort-1 / workspace0 / last-image unterscheidet