(Xubuntu) कमांड लाइन का उपयोग करके वॉलपेपर कैसे सेट करें?


11

मैंने बहुत सारी गुगली की है, लेकिन अपनी समस्या का हल नहीं खोज पाया।

मैं एक शिक्षक हूं और मैं कुछ छात्र कंप्यूटरों पर एक्सूबंटू का उपयोग कर रहा हूं। मेरे पास सब कुछ बहुत अच्छा बंद है, लेकिन मैं यह पता नहीं लगा सकता कि कियोस्क मोड में पूरी मशीन को बाहर किए बिना उपयोगकर्ताओं को वॉलपेपर बदलने से कैसे प्रतिबंधित किया जाए। मुझे परवाह नहीं है अगर वे इसे अपने कार्य सत्र के दौरान बदलते हैं, लेकिन मैं एक क्रैस्टब बनाना चाहूंगा जो मूल पर वापस सेट हो जाए। रिबूट पर वापस जाएं।

मैं एक साधारण क्रोन प्रविष्टि की उम्मीद कर रहा हूं, लेकिन अगर यह लेता है तो मैं शेल स्क्रिप्ट की दुनिया में आसानी करने को तैयार हूं।

कोई विचार?

जवाबों:


10

Xfce भूमि में, वह

xfconf-query --channel xfce4-desktop --property /backdrop/screen0/monitor0/image-path --set /usr/share/backgrounds/xfce/xfce-blue.jpg

(निश्चित रूप से आप चाहते हैं कि फ़ाइल पथ का स्थान लें।)

xfconf-query --channel xfce4-desktop --list

सभी संबंधित गुणों को सूचीबद्ध करता है, अगर स्क्रीन 0 / मॉनिटर 0 में कोई नहीं है।


जब मैं कमांड लाइन में इसे चलाता हूं, तो यह एक आकर्षण की तरह काम करता है। जब मैं इसे क्रोन से जोड़ने की कोशिश करता हूं, तो यह कुछ भी नहीं करता है। कोई विचार? `
जॉन

शेल स्क्रिप्ट में पूरी चीज़ को कैसे संलग्न करें और cronइसके बजाय शेल स्क्रिप्ट का उपयोग करें?
चेस्टर

शेल स्क्रिप्ट बनाई और इसे निष्पादन योग्य बनाया। यह तब चलता है जब डबल क्लिक किया जाता है और मैं इसे कमांड लाइन में चला सकता हूं। मैंने इसे समय के रूप में @reboot के साथ क्रोन में जोड़ने की कोशिश की, लेकिन यह काम नहीं कर रहा है। क्या मुझे स्क्रिप्ट के रास्ते के अलावा किसी और चीज़ को जोड़ने की ज़रूरत है?
जॉन

@ जॉन यह क्रोन में काम नहीं करता है क्योंकि क्रोन रूट विशेषाधिकार के तहत काम करता है और यह एक उपयोगकर्ता विशिष्ट पृष्ठभूमि है। अपने उपयोगकर्ता के रूप में चलाने के लिए कमांड बदलने की कोशिश करें
kamil

1
मेरे लिए, --property /backdrop/screen0/monitorLVDS1/workspace0/last-imageचाल चली।
इल्मरी करोनें

9

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 / मॉनिटरडिसप्लेपोर्ट -१ / कार्यक्षेत्र ० / अंतिम-छवि से भिन्न है


2

image-pathमेरे सिस्टम पर सेटिंग का कोई प्रभाव नहीं है (XFCE 4.12, डेबियन बस्टर / साइड)।

मैं सभी कार्यस्थानों की पृष्ठभूमि छवि सेट करने के लिए निम्नलिखित का उपयोग करता हूं:

xfconf-query --channel xfce4-desktop --list | grep last-image | while read path; do
    xfconf-query --channel xfce4-desktop --property $path --set <path>
done

0

प्रयत्न

gsettings set org.gnome.desktop.background picture-uri file:///your/picture/location.jpg

की file://आवश्यकता है।


मैंने बिना किसी किस्मत के इसे आजमाया। जब से मैं XFCE चला रहा हूं, क्या मेरे पास gsettings भी हैं? कमांड का सिंटैक्स मेरे लिए समझ में आता है, लेकिन मुझे नहीं पता कि इसे एक्सूबंटू पर कैसे लागू किया जाए।
जॉन

0

क्रोन का उपयोग न करें। इसके बजाय स्टार्टअप स्क्रिप्ट का उपयोग करें। हालाँकि आप क्रोन का उपयोग कर सकते हैं लेकिन मैं इसे इस स्थिति में पसंद नहीं करता क्योंकि यह उपयोगकर्ता के लिए विशिष्ट है।

इसे इस तरह से करें:

sudo vi /etc/rc.local

फ़ाइल के अंत में निम्नलिखित जोड़ें

sudo -u YOURUSERNAME -g $( id -g YOURUSERNAME ) xfconf-query --channel xfce4-desktop --property /backdrop/screen0/monitor0/image-path --set /usr/share/backgrounds/xfce/xfce-blue.jpg

और सुनिश्चित करें कि आप अपने वर्तमान उपयोगकर्ता के साथ YOUUSERNAME को प्रतिस्थापित करते हैं। और नई पृष्ठभूमि छवि के वास्तविक पथ द्वारा /usr/share/backgrounds/xfce/xfce-blue.jpg बदलें और सुनिश्चित करें कि आपके उपयोगकर्ता को छवि पढ़ने की अनुमति है


1
इसे क्यों ठुकरा दिया गया? ओपी ने रिबूट पर प्रभाव डालने वाले तरीके का अनुरोध किया। शायद ओपी को इसे कई उपयोगकर्ताओं को लागू करने की आवश्यकता थी, लेकिन स्पष्ट रूप से ऐसा नहीं कहा गया है। यह उत्तर ठीक लगता है (हालांकि, इसका परीक्षण नहीं किया है)। तो, नीचे क्यों?
स्टीफन गौरिचोन

0

बैश स्क्रिप्ट में xfce बैकग्राउंड कलर सेट करने के लिए:

d=0; r=$d; g=$d; b=$d; \
xfconf-query -c xfce4-desktop \
-p /backdrop/screen0/monitor0/workspace0/color1 \
-s $r -s $g -s $b -s 65535

रंग की:

black: d=0;
white: d=65535;
red:   r=65535; g=0; b=0;

आदि।

आरजीबी 16bit दशमलव आरजीबी घटक हैं।

65535 = 255 * 257। 255 = 0xFF हेक्स में।

8bit हेक्स रंग कोड से 16bit दशमलव RGB घटकों में बदलने के लिए:

x='C31717' # dark red
r=$((16#${x:0:2} * 257))
g=$((16#${x:2:2} * 257))
b=$((16#${x:4:2} * 257))

यदि पृष्ठभूमि का रंग नहीं बदलता है, तो छवि शैली को किसी पर सेट न करें

xfconf-query -c xfce4-desktop \
-p /backdrop/screen0/monitor0/workspace0/image-style \
-s 0

.... और शैली को ठोस पर सेट करें

xfconf-query -c xfce4-desktop \
-p /backdrop/screen0/monitor0/workspace0/color-style \
-s 0

हर कार्यक्षेत्र के लिए एक अलग रंग सेट करने के लिए:

xfconf-query -c xfce4-desktop \
-p /backdrop/single-workspace-mode \
-s false

i=1; # workspace id
xfconf-query -c xfce4-desktop \
-p /backdrop/screen0/monitor0/workspace$i/image-style \
-s 0
xfconf-query -c xfce4-desktop \
-p /backdrop/screen0/monitor0/workspace$i/color-style \
-s 0
x=0; r=$x; g=$x; b=$x; \
xfconf-query -c xfce4-desktop \
-p /backdrop/screen0/monitor0/workspace$i/color1 \
-s $r -s $g -s $b -s 65535

nuff ने कहा ^ ^

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.