वर्चुअलबॉक्स पर Debian 7 में xrandr सेटिंग्स को स्वचालित रूप से स्वचालित नहीं कर सकता


23

यद्यपि इस मामले पर कई मौजूदा प्रश्न हैं (जिसमें से सबसे उपयोगी उत्तर यह है ) और अन्य मंचों पर विभिन्न धागे, मैं मज़बूती से अपनी xrandrसेटिंग्स को डेबियन 7 में वर्चुअलबॉक्स पर सेट नहीं कर सकता ।

मैं xrandrअपनी प्रदर्शन सेटिंग्स को नियंत्रित करने के लिए उपयोग करने की कोशिश कर रहा हूं (बजाय अपने डेस्कटॉप वातावरण को स्वचालित करने के लिए), क्योंकि मैं i3खिड़की प्रबंधक का उपयोग कर रहा हूं , जो प्रदर्शन सेटिंग्स को स्वचालित नहीं करता है या ग्नोम डेस्कटॉप वातावरण प्रदर्शन सेटिंग्स का उपयोग नहीं करता है।

सेट अप:

मुझे यकीन नहीं है कि यह कितना प्रासंगिक है, विशेष रूप से हार्डवेयर सामान, क्योंकि मुझे नहीं लगता कि डेबियन वास्तव में मॉनिटर सेटअप के बारे में अधिक जानकारी प्राप्त कर सकता है; जहाँ तक मैं बता सकता हूँ, VirtualBox सिर्फ आभासी स्क्रीन के अस्तित्व की रिपोर्ट करता है जैसे कि वे हार्डवेयर मॉनिटर थे।

हार्डवेयर

  • लेनोवो लैपटॉप विथ एनवीडिया ग्राफिक्स (इंटिग्रेटेड इंटेल जीपीयू का उपयोग नहीं किया गया है, एएफएआईके - एक BIOS सेटिंग है जिसे मैं इसे पूरा करने के लिए उपयोग करता हूं)
    • विंडोज 7
    • 32 जीबी रैम
    • नवीनतम का उपयोग करते हुए (मुझे लगता है) nVidia ड्राइवर (340.84) - यह मामला हो सकता है, क्योंकि मैंने VirtualBox में 3D त्वरण सक्षम किया है (नीचे देखें), जो मुझे लगता है कि अतिथि OS को होस्ट हार्डवेयर तक पहुंच की अनुमति देता है
  • डॉकिंग स्टेशन के माध्यम से एचडीएमआई के माध्यम से सीकी 4K टीवी (मॉनिटर के रूप में उपयोग किया जाता है) जो आंतरिक रूप से डिस्प्लेपोर्ट को एचडीएमआई में परिवर्तित करता है)
  • सैमसंग सिंकमास्टर 243 टी मॉनिटर वर्टिकल हो गया

VirtualBox

  • VirtualBox 4.3.20 का उपयोग करना
  • अतिथि जोड़ (एक ही संस्करण) स्थापित हैं
  • मॉनिटर गणना: 2 (पूर्ण स्क्रीन मोड में होने पर सेकी और सिंकमास्टर को सौंपा गया)
  • अधिकतम वीडियो मेमोरी (128 एमबी) का इस्तेमाल किया
  • 3D एक्सेलेरेशन सक्षम है

अतिथि सेटिंग्स

  • 32-बिट डेबियन 7
  • gnomeऔर gdm3स्थापित हैं
  • पसंदीदा WM है i3

व्यवहार:

जब मैं लॉन्च i3और क्वेरी करता हूं xrandr, तो डिफ़ॉल्ट डिस्प्ले सेटिंग्स हमेशा एक समान दिखाई देती हैं VBOX0और VBOX1, दो "मॉनिटर" जो कि वर्चुअलबॉक्स को रिपोर्ट करता है xrandr(कम से कम, यह है कि मैं इसे कैसे समझता हूं; मैं कुछ याद कर सकता हूं)। ध्यान दें कि जहां तक ​​मैं बता सकता हूं, यह बताने का कोई अच्छा तरीका नहीं है कि कौन सा VBOX # है जो परीक्षण-और-त्रुटि की निगरानी कर रहा है।

आमतौर पर इसमें मेरे वर्टिकल सिंकमैस्टर के लिए एक उचित (यदि मूल से थोड़ा नीचे) रिज़ॉल्यूशन शामिल है, लेकिन सेकी के लिए कोई 4K रिज़ॉल्यूशन नहीं है। VirtualBox में "ऑटो-रिसाइज़ गेस्ट डिस्प्ले" विकल्प प्रभावित नहीं करता है xrandr

मैंने ऊपर दिए गए उत्तर में वर्णित पटकथा के विभिन्न संशोधनों की कोशिश की है , लेकिन सामान्य तौर पर मुझे विभिन्न xrandrत्रुटियां प्रतीत होती हैं। मैंने उन विभिन्न चीजों के बीच कई सहसंबंध नहीं पाए हैं जो मैंने कोशिश की हैं और मुझे जो त्रुटियां मिली हैं, लेकिन यहां मुख्य चीजें हैं जो महत्वपूर्ण हो सकती हैं:

स्क्रिप्ट ट्विस्ट करती है

  • (आमतौर पर) VBoxServiceपुनरारंभ चरणों को छोड़ देना (वे xrandrव्यवहार को बदलने के लिए प्रतीत नहीं होते हैं )
  • xrandr --fbकिसी अन्य xrandrकमांड से पहले विकल्प का उपयोग करें ; यह कभी-कभी "निर्दिष्ट स्क्रीन बड़ी पर्याप्त नहीं" के परिणामस्वरूप नीचे सूचीबद्ध त्रुटि होती है
  • 60 के बजाय 30 एफपीएस का उपयोग करें (वर्तमान एचडीएमआई के माध्यम से 4K 30fps अधिकतम है, लेकिन मुझे नहीं लगता कि यह वर्चुअलबॉक्स के भीतर मायने रखना चाहिए, किसी भी मामले में मुझे लगता है कि मुझे कभी-कभी यह काम करना पड़ा है और कभी-कभी यह दोनों तरीकों से विफल रहा है)
  • के cvtबजाय का उपयोग करें gtf(ये अनिवार्य रूप से उसी तरह व्यवहार करते दिखाई देते हैं)
  • gtfछोटी संख्या के साथ दिए गए पहले नंबर (जो आमतौर पर 200 या 300 के आसपास होता है) को प्रतिस्थापित करें , जैसे कि 100.00(मुझे लगता है कि यह कमांड लाइन पर एक या दो बार काम करता है, लेकिन आम तौर पर कोई फर्क नहीं पड़ता है)
  • नया मोड नाम रैंडमाइज़ करें $RANDOM(मैंने नामों के साथ फ़िडलिंग के विभिन्न अन्य साधनों की भी कोशिश की है)
  • --rmmodeउपयोग करने से पहले स्पष्ट रूप से मोड --newmode(यह नीचे सूचीबद्ध "फ़ॉन्ट" त्रुटि को रोकने के लिए प्रकट होता है)
  • एस सेट करते समय --right-ofया उपयोग करें (क्योंकि आमतौर पर स्क्रीन डिफ़ॉल्ट रूप से प्रतिबिंबित होती हैं)--left-of--output

त्रुटि संदेश

  • xrandr: specified screen 5120x2160 not large enough for output VBOX0 (3840x2160+3840+0) X Error of failed request: BadValue (integer parameter out of range for operation) मुझे यह अभी मिला है जब मॉनिटर के बाद स्क्रिप्ट को फिर से चलाना पहले से ही उनके उचित रिज़ॉल्यूशन (अगले भाग में वर्णित काम के आसपास) का उपयोग करने के लिए मजबूर किया गया था। इसने मुझे चौंका दिया, क्योंकि xrandrनिम्नलिखित रिपोर्ट: Screen 0: minimum 64 x 64, current 5120 x 2160, maximum 16384 x 16384
  • X Error of failed request: BadMatch (invalid parameter attributes) यह कभी-कभी ऐसा करने की कोशिश करता है --newmode। यह शायद स्क्रिप्ट के असफल होने का दूसरा सबसे आम कारण है। मुझे लगता है कि इसे xrandrस्थापित करने के पिछले प्रयास से मोड का नाम "याद रखने" के कारण हो सकता है , लेकिन $RANDOMइसका उपयोग लगातार समस्या को हल करने के लिए प्रकट नहीं होता है, इसलिए यह कुछ अन्य समस्या हो सकती है। (मुझे लगता है कि यह संभव है कि $RANDOMनाम के साथ टकराव भी हो, हालांकि।) मैंने इस त्रुटि को नहीं देखा है क्योंकि मैंने इसका उपयोग शुरू कर दिया है --rmmode, लेकिन मैंने उस आदेश को जोड़ने के बाद से स्क्रिप्ट को पर्याप्त बार नहीं चलाया है, यह सुनिश्चित करने के लिए कि यह एक अंतर है। व्यवहार।
  • X Error of failed request: BadMatch (invalid parameter attributes) यह कभी-कभी ऐसा करने की कोशिश करता है --addmode। यह शायद स्क्रिप्ट के असफल होने का सबसे आम कारण है, और यह मुझे रहस्यमई करता है। कभी-कभी स्क्रिप्ट द्वारा उपयोग किए जाने वाले कमांड के उसी क्रम को निष्पादित करने वाले मैन्युअल रूप से (टर्मिनल में) इस त्रुटि के लिए एक व्यवहार्य समाधान प्रतीत होता है, जो कि विचित्र है।

सूक्ति कर्मफल:

मैंने पाया है कि अगर मैं गनोम डेस्कटॉप में लॉग इन करता हूं, तो वर्चुअलबॉक्स का "ऑटो-रिसाइज़ गेस्ट डिस्प्ले" फ़ंक्शन करें, फिर लॉग आउट करें और वापस अंदर जाएं i3, xrandrआम तौर पर अपने ऑटो-जनित में सेकी और सिंकमास्टर दोनों के लिए सही रिज़ॉल्यूशन शामिल हैं। मोड की सूची, और 4K रिज़ॉल्यूशन को प्रत्येक VBOX स्क्रीन के लिए "पसंदीदा" रिज़ॉल्यूशन के रूप में सेट किया गया है। यह मुझे बस का उपयोग करने की अनुमति देता है xrandr --output [4K VBOX] --auto --left-of [SyncMaster VBOX], इसके बाद xrandr --output [SyncMaster VBOX] --mode [SyncMaster resolution](ध्यान दें कि सिंकमास्टर रिज़ॉल्यूशन को अभी भी मैन्युअल रूप से निर्दिष्ट किया जाना चाहिए, क्योंकि दोनों सत्य या पवित्रता के लिए कोई संबंध नहीं है) के xrandrलिए एक ही पसंदीदा रिज़ॉल्यूशन की रिपोर्ट करता है । VBOX#

यह वर्कअराउंड, एक बार प्रदर्शन करता है, जाहिरा तौर पर शटडाउन और रीबूट में बना रहता है (यानी, वांछित मोड अभी भी xrandr's मोड सूची में मौजूद हैं , हालांकि मुझे सत्र xrandrशुरू करने के बाद भी दो कमांड को चलाने की आवश्यकता है i3), लेकिन हमेशा नहीं रहता है " लॉग आउट करना और एक नया i3सत्र शुरू करना । ध्यान दें कि gdm3लॉगिन स्क्रीन में कभी भी सही रिज़ॉल्यूशन नहीं है (जहाँ तक मैंने देखा है)। यहाँ चल रही अनजानता पर मेरी और कोई टिप्पणी नहीं है।

संपादित करें: यह दृष्टिकोण स्क्रिप्ट योग्य नहीं लगता है, और व्यवहार वास्तव में सुसंगत प्रतीत नहीं होता है।

अन्य नोट:

  • xconfमेरे etc/X11dir में फ़ाइल (या समान) नहीं है ।
  • डिस्प्ले को ठीक करना एक बहुत ही आम समस्या है, क्योंकि जब भी मैं अपने किसी मॉनिटर को बंद करता हूं, तो वर्चुअलबॉक्स फुलस्क्रीन वर्चुअल मॉनिटर में से एक को मार देता है। (Urgh।)

प्रशन:

  • क्या वर्चुअलबॉक्स के भीतर से अलग-अलग मॉनिटरों की वास्तविक हार्डवेयर क्षमताओं (यानी देशी रिज़ॉल्यूशन) के बीच प्रोग्रामेटिक रूप से अंतर करने का कोई तरीका है?
  • मैं इन विभिन्न त्रुटियों को क्यों देख रहा हूँ? क्या चल रहा है xrandr, आदि।
  • क्या gnomeमेरे i3सत्र से पहले मुझे सत्र शुरू करने की आवश्यकता के बिना मज़बूती से सही फ़ुलस्क्रीन रिज़ॉल्यूशन प्राप्त करने का कोई तरीका है ?

संभवतः संबंधित मुद्दे

  • मेरा माउस पॉइंटर विश्वसनीय रूप से सही ढंग से लाइन नहीं करता है जहां क्लिक का पता चलता है; क्लिक आमतौर पर नीचे और सूचक के दाईं ओर होते हैं। एक बार जब मेरे पास स्क्रीन सही ढंग से कॉन्फ़िगर हो जाती है, तो यह समस्या आमतौर पर गायब हो जाती है, हालांकि वर्तमान में स्क्रीन में सही रिज़ॉल्यूशन हैं, लेकिन पॉइंटर अभी भी थोड़ा बंद है।
  • जब मैं प्रस्तावों को सही करने के लिए प्रबंधन करता हूं, तो स्क्रीन कभी-कभी फ़्लिकर होती है। यह कष्टप्रद है लेकिन जीवंत है। किसी भी विचार का क्या कारण है या अगर यह तय किया जा सकता है?

मुझे अपने नोट्स खोदने होंगे लेकिन आपके डिस्प्ले के लिए समर्थित मोड क्या हैं? क्या i3 के पास लॉगिन करने से पहले / सही से स्क्रिप्ट शुरू करने का कोई तरीका है? superuser.com/questions/808737/… मैं एक समान भौतिक मुद्दे के साथ क्या कर रहा हूं, लेकिन इसके लिए आपके मामले में काम करने के लिए थोड़ा सा परिश्रम करना पड़ सकता है।
जर्नीमैन गीक

@JourneymanGeek 4K में 60 हर्ट्ज पर मानक मोड के अधिकांश के लिए समर्थन है, और 30 हर्ट्ज पर बड़े मोड (4K सहित) के लिए समर्थन है। सिंकमैस्टर 1920x1280 के मूल (ऊर्ध्वाधर) रिज़ॉल्यूशन के साथ, अधिकांश सामान्य मोड का समर्थन करता प्रतीत होता है। I3 विन्यास स्क्रिप्ट लॉगिन पर स्क्रिप्ट चलाने का समर्थन करता है; मैं ऊपर वर्णित स्क्रिप्ट को स्वचालित रूप से चलाने के लिए इस सुविधा का उपयोग कर रहा हूं, जो आपके समान दिखता है, लेकिन मुझे अजीब xrandrत्रुटियां होती रहती हैं।
काइल स्ट्रैंड

आप i3 को कैसे लॉन्च करते हैं? क्या इसकी अपनी एक्स इनिशियलाइज़ेशन रूटीन है? या आप इसे अपने में छोड़ देते हैं .xinitrcऔर उपयोग करते हैं startx? मैं xmonad का उपयोग करता हूं (जो, जैसा कि मैं समझता हूं, i3 के समान है?) जिसका उपयोग करके मैं लॉन्च करता हूं startx। मेरे xrandrपटकथा सब में किया जाता है .xinitबस से पहले मेरी विंडो प्रबंधक शुरू की है। मेरे पास इस तरह से उत्कृष्ट परिणाम हैं। X जाने के लिए तैयार है, और कुछ और हस्तक्षेप करने के लिए लॉन्च नहीं किया है।
क्रिस

मैं अपने खाते के लिए डिफ़ॉल्ट डेस्कटॉप वातावरण के रूप में उपयोग करता हूं gdm3और i3चुना है।
काइल स्ट्रैंड

1
दुर्भाग्य से, कोई भी नहीं जिसे मैं तुरंत सोच सकता हूं, क्योंकि VBox को मॉनिटर पर लगातार नाम आवंटित करने के लिए प्रतीत नहीं होता है। क्या आप xrandr --query(ए) के आउटपुट को पोस्ट कर सकते हैं, जब वह गलत तरीके से सेटिंग्स का पता लगा रहा है, और (बी) सब कुछ ठीक से काम करने के बाद? या सही ढंग से काम करने वाले हर चीज से कम से कम एक।
क्रिस

जवाबों:


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