Для xfce4 в Xubuntu 14.04 используйте свойство / фон / экран0 / мониторDisplayPort-1 / рабочее пространство0 / последнее изображение вместо / фон / экран0 / монитор0 / путь к изображению
Вам также необходимо установить переменную среды DBUS_SESSION_BUS_ADDRESS следующим образом:
PID=$(pgrep xfce4-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
В моем случае я хотел вращать обои (случайное изображение из выбранной папки) один раз в день, но я включал свой компьютер нерегулярно, поэтому я решил это, запуская скрипт из cron каждые полчаса, но вступая в силу только один раз день.
запись в crontab (добавьте через crontab -e
команду):
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
Примечание. - Если вы используете неанглийский язык системы, свойство может иметь другое имя. Лучший способ узнать имя свойства, открыть окно терминала и выполнить эту команду:
xfconf-query -c xfce4-desktop -m
Это включит мониторинг свойств xfce4-desktop. Теперь измените свой фон вручную. Вы должны увидеть имя свойства, на которое повлияло это изменение, в окне терминала. Используйте это имя свойства, если оно отличается от / background / screen0 / monitorDisplayPort-1 / workspace0 / last-image