मैं xrandr के साथ दो मॉनिटर के निचले किनारों को कैसे संरेखित करूं?


19

मेरे पास दो आउटपुट हैं जिन्हें मैं अपने लैपटॉप पर उपयोग करना चाहता हूं:

  • LVDS1 - 1366 × 768
  • एचडीएमआई 1 - 1920 × 1080

मैंने अपने मॉनिटर को इस तरह सेट किया:

xrandr --output LVDS1 --auto --output HDMI1 --auto --right-of LVDS1

यह सब अच्छी तरह से और अच्छा है, लेकिन मेरा लैपटॉप मेरे बाहरी मॉनिटर की तुलना में काफी कम बैठता है, और स्क्रीन के ऊपरी किनारों को संरेखित करने के साथ, यह एक स्क्रीन से दूसरी स्क्रीन पर कूदता है, बल्कि अनजाने में। क्या कोई तरीका है जिससे मैं नीचे के किनारों को संरेखित कर सकता हूं? मुझे लगा कि मैं ऐसा करने के लिए --posझंडे का उपयोग कर सकता हूं , लेकिन मैंने कोशिश की है और कोई अंतर नहीं देखा है (शायद मुझे नहीं पता कि इसे ठीक से कैसे इस्तेमाल किया जाए)।

जवाबों:


35
 xrandr --output LVDS1 --auto --pos 0x312 --output HDMI1 --auto --pos 1366x0

मूल रूप से, --pos वर्चुअल स्क्रीन स्पेस में स्क्रीन के ऊपरी बाएं कोने की स्थिति को निर्दिष्ट करता है। आभासी स्क्रीन एक स्क्रीन है जो आपकी संपूर्ण भौतिक स्क्रीन को फैलाती है। यह स्क्रीन स्थितियों को निर्दिष्ट करने का एक बहुत ही सामान्य तरीका है।

आप इस विन्यास चाहते हैं:

(virtual screen coordinates)
     0       1366                 1366+1920

   0           A-----------------------
               |                      |
               |                      |
               |                      |
  x? B---------|         HDMI         |
     |         |                      |
     |  LVDS   |       1920x1080      |
     |1366x768 |                      |
1080 ----------------------------------

और आपको --posविकल्प में उपयोग करने के लिए ए और बी के निर्देशांक की आवश्यकता है । xआसानी से 1080 - 768 = 312 के रूप में हल किया जाता है, इसलिए ए (1366,0) पर है और बी (0,312) पर है।

इसलिए, उपयुक्त - विकल्प विकल्प हैं - एचडीएमआई के लिए 1366x0 और एलवीडीएस के लिए एक्सपोजर 0,312। आपको वर्चुअल स्क्रीन आकार (अब) निर्दिष्ट करने की आवश्यकता नहीं है, यह स्वचालित रूप से आकार बदला जाता है।

ध्यान दें कि --posआपके दो स्क्रीन के बीच एक छेद बनाने के लिए या ओवरलैपिंग बनाने के लिए छूट का दुरुपयोग किया जा सकता है। सबसे (सभी?) WM के माध्यम से संभाल करने में सक्षम नहीं होगा।

संपादित करें: ओह, आप चाहते हैं कि चारों ओर दूसरा रास्ता तय हो।


हेह, आपको पोस्ट करने से ठीक पहले यह पता चला। क्या आप बता सकते हैं कि --ॉप्स फ्लैग कैसे काम करता है?
इलियाना

धन्यवाद, यह बहुत समझ में आता है! मुझे लगता है कि आप अपने उदाहरण में 1600 को 1080 से बदलना चाहते हैं, हालांकि।
इलियाना

@denaje: फिक्स्ड।
बैच

2
क्या जादू के मूल्यों का उपयोग किए बिना xrandr के भीतर ऐसा करने का कोई तरीका नहीं है? मुझे एक स्क्रिप्ट
मिलनी

5

@ BatchyX के उत्कृष्ट उत्तर के अलावा , एक विकल्प- और IMO अधिक सुविधाजनक- विकल्प ARANDR (जो "अन्य XRandR GUI" के लिए खड़ा है) का उपयोग कर सकता है :

ARandR को XRandR के लिए एक सरल दृश्य सामने अंत प्रदान करने के लिए डिज़ाइन किया गया है। रिलेटिव मॉनीटर पोजीशन को ग्राफिकल तरीके से दिखाया जाता है और इसे ड्रैग-एंड-ड्रॉप तरीके से बदला जा सकता है।

आपको इसे पहले इंस्टॉल करने की आवश्यकता हो सकती है, लेकिन यह अधिकांश डिस्ट्रोस रिपॉजिटरी में उपलब्ध है । यहाँ यह है कि यह LXDE पर मेरे लिए कैसा दिखता है, VGA के माध्यम से जुड़े एक बाहरी मॉनिटर के साथ एक सेटअप के लिए, ऊपर, और इसके नीचे मूल (नेटबुक-आकार) मॉनिटर:

ARandR स्क्रीनशॉट


3

यदि आप GUI- आधारित समाधान को ड्रैग-एंड-ड्रॉप की तलाश में हैं, तो मैं ARANDR की सिफारिश कर सकता हूं

यह आपको सबसे महत्वपूर्ण XRandR सेटिंग्स, उदाहरण के लिए स्क्रीन स्थिति और रिज़ॉल्यूशन सेट करने की अनुमति देता है, जिसे फिर शेल स्क्रिप्ट के रूप में सहेजा जा सकता है जो xrandrसंबंधित मापदंडों के साथ कॉल करता है।


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