Xubuntu 14.04 में xfce4 के लिए, प्रॉपर्टी / बैकड्रॉप / स्क्रीन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-)
मेरे मामले में मैं दिन में एक बार वॉलपेपर (एक चयनित फ़ोल्डर से यादृच्छिक छवि) को घुमाना चाहता था, लेकिन मैं अपने पीसी को अनियमित रूप से चालू करता हूं, इसलिए मैंने हर आधे घंटे में क्रोन से एक स्क्रिप्ट चलाकर इसे हल किया, लेकिन केवल एक बार प्रभाव डालें एक दिन।
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- डेस्कटॉप गुणों की निगरानी को चालू करेगा। अब अपने बैकग्राउंड को मैन्युअल रूप से बदलें। आपको उस प्रॉपर्टी का नाम देखना चाहिए जो टर्मिनल विंडो में इस बदलाव से प्रभावित थी। इस प्रॉपर्टी के नाम का उपयोग करें यदि यह / पृष्ठभूमि / screen0 / मॉनिटरडिसप्लेपोर्ट -१ / कार्यक्षेत्र ० / अंतिम-छवि से भिन्न है