Per xfce4 in Xubuntu 14.04, usa la proprietà / sfondo / schermo0 / monitorDisplayPort-1 / area di lavoro0 / ultima immagine anziché / sfondo / schermo0 / monitor0 / percorso-immagine
È inoltre necessario impostare la variabile di ambiente DBUS_SESSION_BUS_ADDRESS in questo modo:
PID=$(pgrep xfce4-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
Nel mio caso volevo ruotare lo sfondo (immagine casuale da una cartella selezionata) una volta al giorno, ma accendo il mio PC in modo irregolare, quindi l'ho risolto eseguendo uno script da cron ogni mezz'ora, ma ho effetto solo una volta un giorno.
voce in crontab (aggiungerlo tramite crontab -e
comando):
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
Nota: -Se si utilizza impostazioni internazionali di sistema non inglesi, la proprietà può avere un nome diverso. Il modo migliore per scoprire il nome della proprietà, aprire una finestra del terminale ed eseguire questo comando:
xfconf-query -c xfce4-desktop -m
Questo attiverà il monitoraggio delle proprietà di xfce4-desktop. Ora cambia lo sfondo manualmente. Dovresti vedere il nome della proprietà che è stato interessato da questa modifica nella finestra del terminale. Usa questo nome di proprietà se è diverso da / background / screen0 / monitorDisplayPort-1 / workspace0 / last-image