मैं XFCE में अपने मॉनिटर लेआउट को स्वचालित रूप से कैसे अपडेट कर सकता हूं?


9

मेरे पास एक लैपटॉप है जो आम तौर पर एक बड़े मॉनिटर के लिए डॉक किया जाता है। जब डॉक किया जाता है, तो मैं बड़े डिस्प्ले को प्राथमिक डिस्प्ले के रूप में उपयोग करना चाहता हूं, लैपटॉप स्क्रीन के साथ दाईं ओर सेकंडरी डिस्प्ले के रूप में। जब अनडॉक किया जाता है, तो लैपटॉप स्क्रीन एकमात्र प्रदर्शन होता है।

XFCE में उस तरह के मल्टी-मॉनिटर सपोर्ट का निर्माण नहीं होता है। मुझे ARANDR मिला , जिसने मुझे मेरे मॉनिटर को मेरे इच्छित तरीके से सेट करने दिया। मैं डॉक और अनडॉक किए गए कॉन्फ़िगरेशन के लिए प्रोफाइल को बचाने के लिए ARANDR का उपयोग कर सकता हूं (जो कि वास्तव में सिर्फ शेल स्क्रिप्ट हैं जो xrandr को आमंत्रित करते हैं )।

लेकिन जब लैपटॉप डॉक किया जाता है और अनडॉक किया जाता है, तो मैं स्वचालित रूप से लागू करने के लिए उन प्रोफाइल को कैसे प्राप्त करूं? क्या मुझे एक udev नियम बनाने की कोशिश करनी चाहिए जो डॉकिंग स्टेशन का पता लगाता है? क्या कोई बेहतर तरीका है?


अभी तक इसका परीक्षण नहीं किया गया है, लेकिन ऐसा करने के लिए एक्स डेवलपर्स में से एक एक्स- डेवलपर्स द्वारा विकसित किया गया था।
मिकेल

जवाबों:


5

एक तरह से एक udv नियम बनाने के लिए है, लेकिन जैसा कि मुझे कुछ और पोर्टेबल चाहिए था, मेरे पास यह बैश स्क्रिप्ट है। यह inotifywait समर्थन पर निर्भर करता है, इसमें कुछ प्रकार के लूप नहीं होते हैं और इसे कुशल माना जाता है।

external-lcd.sh

#!/bin/sh
# inspired of:                                                                                            
#   http://unix.stackexchange.com/questions/4489/a-tool-for-automatically-applying-randr-configuration-   when-external-display-is-p                                                                                
#   http://ozlabs.org/~jk/docs/mergefb/                                                                   
#   http://superuser.com/questions/181517/how-to-execute-a-command-whenever-a-file-changes/181543#181543  

export MONITOR2=/sys/class/drm/card0-VGA-1/status                                                         

while inotifywait -e modify,create,delete,open,close,close_write,access $MONITOR2;                        

dmode="$(cat $MONITOR2)"                                                                                  

do                                                                                                        
    if [ "${dmode}" = disconnected ]; then                                                                
         /usr/bin/xrandr --auto                                                                           
         echo "${dmode}"                                                                                  
    elif [ "${dmode}" = connected ];then                                                                  
         /usr/bin/xrandr --output VGA1 --auto --right-of LVDS1                                            
         echo "${dmode}"                                                                                  
    else /usr/bin/xrandr --auto                                                                           
         echo "${dmode}"                                                                                  
    fi                                                                                                    
done 

फ़ाइल को निष्पादन योग्य बनाने के लिए मत भूलना ( chmod +x external-lcd.sh)। जब भी आप अपना DE लॉन्च करें, तब इसे शुरू करें।

मैं आर्चलिनक्स पर इसका उपयोग कर रहा हूं इसलिए मुझे लगता है कि इसे काम करना चाहिए। आप xrandr पैरामीटर्स को बदल सकते हैं या arandr configurations का उपयोग करने के लिए इसे स्वैप कर सकते हैं।

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