Đối với xfce4 trong Xubfox 14.04, hãy sử dụng property / backdrop / screen0 / MonitorDisplayPort-1 / workspace0 / hình ảnh cuối thay vì / backdrop / screen0 / screen0 / image-path
Bạn cũng cần đặt biến môi trường DBUS_SESSION_BUS_ADDRESS như thế này:
PID=$(pgrep xfce4-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
Trong trường hợp của tôi, tôi muốn xoay hình nền (hình ảnh ngẫu nhiên từ một thư mục đã chọn) mỗi ngày một lần, nhưng tôi bật PC không thường xuyên, vì vậy tôi đã giải quyết nó bằng cách chạy tập lệnh từ cron mỗi nửa giờ, nhưng chỉ có hiệu lực một lần một ngày.
mục trong crontab (thêm nó thông qua crontab -e
lệnh):
0,30 * * * * /home/lucifer/scripts/rotate-wallpaper.sh
xoay-tường giấy.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
Lưu ý: -Nếu bạn đang sử dụng ngôn ngữ hệ thống không phải tiếng Anh, tài sản có thể có một tên khác. Cách tốt nhất để tìm ra tên thuộc tính, mở một cửa sổ đầu cuối và chạy lệnh này:
xfconf-query -c xfce4-desktop -m
Điều này sẽ bật giám sát các thuộc tính máy tính để bàn xfce4. Bây giờ thay đổi nền của bạn bằng tay. Bạn sẽ thấy tên thuộc tính bị ảnh hưởng bởi thay đổi này trong cửa sổ đầu cuối. Sử dụng tên thuộc tính này nếu nó khác với / backdrop / screen0 / MonitorDisplayPort-1 / workspace0 / hình ảnh cuối cùng