Para xfce4 en Xubuntu 14.04, use property / backdrop / screen0 / monitorDisplayPort-1 / workspace0 / last-image en lugar de / backdrop / screen0 / monitor0 / image-path
También debe establecer la variable de entorno DBUS_SESSION_BUS_ADDRESS de esta manera:
PID=$(pgrep xfce4-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
En mi caso, quería rotar el fondo de pantalla (imagen aleatoria de una carpeta seleccionada) una vez al día, pero enciendo mi PC de manera irregular, así que lo resolví ejecutando un script de cron cada media hora, pero solo surte efecto una vez un día.
entrada en crontab (agregarlo a través del 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: -Si está utilizando una configuración regional del sistema que no está en inglés, la propiedad puede tener un nombre diferente. La mejor manera de averiguar el nombre de la propiedad, abrir una ventana de terminal y ejecutar este comando:
xfconf-query -c xfce4-desktop -m
Esto activará la supervisión de las propiedades de xfce4-desktop. Ahora cambie su fondo manualmente. Debería ver el nombre de la propiedad que se vio afectado por este cambio en la ventana del terminal. Utilice este nombre de propiedad si es diferente de / backdrop / screen0 / monitorDisplayPort-1 / workspace0 / last-image