Untuk xfce4 di Xubuntu 14.04, gunakan properti / backdrop / screen0 / monitorDisplayPort-1 / workspace0 / gambar terakhir alih - alih / backdrop / screen0 / monitor0 / image-path
Anda juga perlu mengatur variabel lingkungan DBUS_SESSION_BUS_ADDRESS seperti ini:
PID=$(pgrep xfce4-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
Dalam kasus saya, saya ingin memutar wallpaper (gambar acak dari folder yang dipilih) sekali sehari, tetapi saya menyalakan PC saya secara tidak teratur, jadi saya menyelesaikannya dengan menjalankan skrip dari cron setiap setengah jam, tetapi hanya berlaku sekali satu hari.
entri di crontab (tambahkan melalui crontab -e
perintah):
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
Catatan: -Jika Anda menggunakan sistem lokal non-Inggris, properti dapat memiliki nama yang berbeda. Cara terbaik untuk mengetahui nama properti, buka jendela terminal, dan jalankan perintah ini:
xfconf-query -c xfce4-desktop -m
Ini akan mengaktifkan pemantauan properti xfce4-desktop. Sekarang ubah latar belakang Anda secara manual. Anda harus melihat nama properti yang dipengaruhi oleh perubahan ini di jendela terminal. Gunakan nama properti ini jika berbeda dari / backdrop / screen0 / monitorDisplayPort-1 / workspace0 / last-image