XUbuntu में वॉलपेपर बदलने की कमान


15

गूगल सर्च करने से कमांड का पता चलता है

xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s <image-path>

पहली बार जब मैं यह कमांड चलाता हूं तो मुझे एक संदेश मिला है जिसमें कहा गया है कि चैनल xfce4- डेस्कटॉप में प्रॉपर्टी / बैकड्रॉप / स्क्रीन0 / मॉनिटर0 / इमेज-पाथ मौजूद नहीं है।

इसलिए, मैंने यह संपत्ति बनाई:

xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s <image-path>

लेकिन फिर भी पृष्ठभूमि नहीं बदली।

मैंने तब XUbuntu के डेस्कटॉप सेटिंग्स एप्लिकेशन से, सामान्य रूप से अंतरिक्ष -03.jpg से अंतरिक्ष-04.jpg की पृष्ठभूमि बदल दी। फिर मैं चला:

$ xfconf-query -c xfce4-desktop -p /backdrop -lv
/backdrop/screen0/image-path                           /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor0/image-path                  /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor0/image-show                  true
/backdrop/screen0/monitor1/image-path                  /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor1/image-show                  true
/backdrop/screen0/monitorLVDS1/workspace0/color-style  0
/backdrop/screen0/monitorLVDS1/workspace0/image-style  5
/backdrop/screen0/monitorLVDS1/workspace0/last-image   /usr/share/backgrounds/space-04.jpg

जैसा कि आप देख सकते हैं, संपत्ति /backdrop/screen0/monitorLVDS1/workspace0/last-imageबदल गई है (!)।

यदि मैं इस संपत्ति को बदल देता हूं तो यह ठीक काम करता है लेकिन बात यह है कि मुझे अपने कार्यक्रम (वाल्च) में इसे लागू करने के लिए एक सामान्य तरीका खोजने की आवश्यकता है।

यहां तक ​​कि Variety(जो एक बहुत अच्छा कार्यक्रम है, वैसे) मेरी मशीन पर ठीक से काम नहीं करता है और संपत्ति को बदलने का विकल्प चुनता है /backdrop/screen0/monitor0/image-pathजो कुछ भी नहीं करता है।

एक तरीका यह होगा कि सभी संभावित संपत्तियों को बनाया जाए और जरूरत पड़ने पर सभी को एक साथ बदल दिया जाए। मुझे 2 कारणों से यह समाधान पसंद नहीं है:

  1. कई सिस्टम कॉल की जरूरत होगी
  2. एक बिंदु पर मुझे वर्तमान छवि का पथ लेना होगा (इसके फ़ोल्डर को खोलने के लिए, इसका पथ कॉपी करें, इसे हटाएं और कुछ अन्य फ़ंक्शन जो प्रोग्राम प्रदान करता है)। मुझे नहीं पता होगा कि कौन सी प्रॉपर्टी सही मायने में सेट की गई छवि का रास्ता रखती है ताकि इसे कार्यक्रम के लिए उपलब्ध कराया जा सके।

मुझे यह भी समझ में नहीं आता है कि एक्सएफसीई ने इसे इतना जटिल क्यों बनाया है। एक संपत्ति gsettings में पर्याप्त क्यों नहीं होगी?


क्या आपने इस मंच की कोशिश की है। xfce.org/viewtopic.php?id=8198 या यह ubuntuforums.org/showthread.php?t=838184
jabbink

बस इसे आज़माया, xfconf-query -c xfce4-desktop -p / backdrop / screen0 / monitor0 / image-path -s /usr/share/backgrounds/xfce/xfce-blue .jpg मेरे लिए काम करता है .... कभी नहीं बदला था मेरी पृष्ठभूमि छवि पहले - रूट विशेषाधिकारों के बिना इसे करने के लिए ध्यान रखें क्योंकि सेटिंग्स उपयोगकर्ता विशिष्ट हैं।
वोल्फगैंग

1
@hakermania - शायद # 9 में इस लिपि में कुछ ऐसा है - क्या यह आपको कुछ विचार देता है कि कैसे आगे बढ़ना है (या कम से कम सही मॉनिटर की पहचान करें)? bugs.launchpad.net/variety/+bug/1064825
fossfreedom

इसी तरह का एक प्रश्न यहाँ है: http://askubuntu.com/questions/380550/xubuntu-how-to-set-the-wallpaper-use-the-command-line
lenooh

@fossfreedom नीचे दिए गए उत्तर में दिए गए उत्तर को देखें।
hytromo

जवाबों:


4

मुझे लगता है कि काम करना चाहिए

कनेक्टेड डिवाइस को प्राप्त करने और उन्हें गिनने के लिए निम्न कोड का उपयोग करें:

connectedOutputs=$(xrandr | grep " connected" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/")
activeOutput=$(xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") 
connected=$(echo $connectedOutputs | wc -w)

फिर आपको उन पर हेरफेर करना होगा और चुनना होगा कि क्या छवि-पथ या अंतिम-छवि के लिए मूल्य निर्धारित करना है

xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s  ~/Pictures/1.jpeg
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorLVDS1/workspace0/last-image -n -t string -s  ~/Pictures/1.jpeg

for i in $(xfconf-query -c xfce4-desktop -p /backdrop -l|egrep -e "screen.*/monitor.*image-path$" -e "screen.*/monitor.*/last-image$"); do
    xfconf-query -c xfce4-desktop -p $i -n -t string -s ~/Pictures/2.png  
    xfconf-query -c xfce4-desktop -p $i -s ~/Pictures/2.png

done

मान लें कि 1.jpeg डिफ़ॉल्ट रूप से स्ट्रिंग बनाने के लिए किसी भी फाइल की जरूरत है। और 2.png सेट की जाने वाली वांछित तस्वीर है। मैंने यह सुनिश्चित करने के लिए पहली पंक्ति को जोड़ा कि xfce4- डेस्कटॉप मौजूद है।

इस स्क्रिप्ट का मेरी मशीन में परीक्षण किया गया था और यह अच्छी तरह से काम कर रही है।

आशा है कि मेरे दोस्त की मदद करता है

संपादित करें: पोर्ट नामों की एक सूची यहां पाई गई जैसे:

आउटपुट पोर्ट नाम

इंटेल ड्राइवर - यूएमएस

वीजीए - एनालॉग वीजीए आउटपुट

LVDS - लैपटॉप पैनल

DP1 - डिस्प्लेपोर्ट आउटपुट

टीवी - एकीकृत टीवी आउटपुट

टीएमडीएस -1 - पहला डीवीआई एसडीवीओ आउटपुट

टीएमडीएस -2 - दूसरा डीवीआई एसडीवीओ आउटपुट

SDVO और DVO TV आउटपुट इस समय ड्राइवर द्वारा समर्थित नहीं हैं।

इंटेल ड्राइवर - केएमएस

LVDS1 - लैपटॉप पैनल

VGA1 - एनालॉग वीजीए आउटपुट

DVI1 - डिजिटल वीडियो आउटपुट

रैडॉन चालक

VGA-0 - एनालॉग वीजीए आउटपुट

LVDS - लैपटॉप पैनल

एस-वीडियो - एकीकृत टीवी आउटपुट

DVI-0 - डीवीआई आउटपुट

अधिक जानकारी के लिए यहां देखें


वह काम क्यों करना चाहिए?
सेठ

@ सेठ क्योंकि मैं सभी उपलब्ध मॉनिटर के माध्यम से पाशन कर रहा हूं और मैं पाया मॉनिटर के लिए उचित मूल्य निर्धारित करूंगा। या तो अंतिम-छवि या छवि-पथ
kamil

एक नई स्थापित XFCE प्रणाली में मान भी मौजूद नहीं है। जब आप अपनी डेस्कटॉप पृष्ठभूमि को मैन्युअल रूप से बदलते हैं तो उन्हें बनाया जा रहा है। तो, यह मेरी राय में एक अच्छा समाधान नहीं है। मैं अपने प्रश्न में इस उत्तर को शामिल करता हूं। मैं स्पष्ट रूप से कहता हूं कि मैं उन सभी की कोशिश कर सकता हूं (हर बार उन्हें बना और बदल सकता हूं), लेकिन यह समस्या का एक अच्छा समाधान होने से बहुत दूर है।
19

आप अपने जैसे गुण बना सकते हैं
kamil

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