मैं xrandr अनुकूलन को स्थायी कैसे बना सकता हूं?


65

मैंने अपने प्रदर्शन रिज़ॉल्यूशन को स्थायी रूप से बदलने के लिए जीडीएम (/ etc / gdm / Init / Default) के लिए स्टार्टअप स्क्रिप्ट को संपादित किया।

मैं Ubuntu Oneiric में LigthDM के साथ यह कैसे कर सकता हूं?


अपने होम फ़ोल्डर में .xprofile जोड़ें। देखें askubuntu.com/questions/63863/... एक बुनियादी गाइड के लिए संकल्प की स्थापना और .xprofile को जोड़ने के लिए
duffydack

जवाबों:


21

मुझे लगता है कि आप डिस्प्ले मोड को इसमें जोड़ सकते हैं /etc/X11/xorg.conf

यदि आपके पास कोई नहीं है xorg.conf, तो आप निम्न का उपयोग आधार के रूप में कर सकते हैं। आपको प्रविष्टियों को नामों के साथ बदलने की आवश्यकता है Modeline, Driverऔर Modesआपके सिस्टम के लिए सही प्रविष्टियों के साथ। आपके हार्डवेयर के आधार पर, आपको अतिरिक्त प्रविष्टियों की आवश्यकता हो सकती है, उदाहरण के लिए यदि आपके सिस्टम में एक से अधिक ग्राफिक चिप हैं।

Section "Monitor"
    Identifier    "Monitor0"
    Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
    Modeline "1024x768_60.00"   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Card0"
    Monitor        "Monitor0"
    SubSection "Display"
        Modes       "1280x1024_60.00" "1024x768_60.00"
    EndSubSection
EndSection

Section "Device"
    Identifier    "Card0"
    Driver        "nvidia"
EndSection

यदि आप उस वीडियो ड्राइवर का नाम नहीं जानते हैं जो आपका सिस्टम उपयोग कर रहा है, तो आपको नाम इस प्रकार मिल सकता है (यदि आपके पास एक इंटेल ग्राफिक चिप है, तो ड्राइवर का नाम सिर्फ "इंटेल" है):

lshw -class display | grep "driver"

मॉडल के साथ उत्पन्न किया जा सकता है cvt:

cvt <h-resolution> <v-resolution> [refresh]

मैंने यह कोशिश की और यह किसी कारण से बूट नहीं होगा। मैंने cvtकमांड से उत्पन्न मॉडल और दूसरे से ड्राइवर का उपयोग किया (और vesaबहुत कोशिश की ), लेकिन यह सिर्फ बिना किसी त्रुटि संदेश के साथ लटका हुआ है। जॉन रॉबर्ट्स के समाधान ने मेरे लिए पूरी तरह से काम किया और वीडियो कार्ड ड्राइवर जैसी चीजों से स्वतंत्र है, जिनका आप यहां उल्लेख करते हैं जो आसानी से नए के लिए गलत हो सकते हैं, इसलिए मैं उनके जवाब को वोट कर रहा हूं।
माइक

1
ऐसा लगता है कि - थ्रोट जैसी चीज़ के लिए मदद नहीं करता है।
झेरिको

2
यह उत्तर पुराना है। जॉन रॉबर्ट्स उत्तर
con-f-use

+1 परफेक्ट-ओ! GDM w / Gnome 3.16 का उपयोग करना, और इसने 1080p मॉनिटर को पहचानने के लिए मेरा GDm प्राप्त किया। धन्यवाद!
eduncan911

मेरे कंप्यूटर पर, lshwआउटपुट i915, हालांकि सही ड्राइवर है intel
user202729

63

/etc/lightdm/lightdm.confनिम्नलिखित विकल्प जोड़ने के लिए संशोधित करें:

प्रदर्शन-सेटअप-स्क्रिप्ट> लॉगिन स्क्रीन दिखाई देने से पहले अपने mycustomloginvideo.sh को कॉल करें

सत्र-सेटअप-स्क्रिप्ट> उपयोगकर्ता डेस्कटॉप सत्र शुरू होने से पहले अपने mycustomdesktopvideo.sh को कॉल करें

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
# for your login screen, e.g. LightDM (Ubuntu 11.10) or GDM (11.04 or earlier)
display-setup-script=/usr/share/mycustomloginvideo.sh
# for your desktop session
session-setup-script=/usr/share/mycustomdesktopvideo.sh

आपके पास "arandr" गुई उपकरण हो सकता है उपरोक्त sh स्क्रिप्ट उत्पन्न करें, अपने वर्तमान सत्र के एक्स कॉन्फ़िगरेशन से पैरामीटर उठाएं।

सुनिश्चित करें कि आपकी शेल स्क्रिप्ट निष्पादन योग्य है:

chmod a+x /usr/share/mycustom*video.sh

और आप यह परीक्षण कर सकते हैं कि यह काम करता है (यानी आपके पास अपने xrandr कमांड में कोई टाइपोस या कॉन्फ़िगरेशन त्रुटियां नहीं हैं) बस इसे टर्मिनल में चलाकर:

/usr/share/mycustomdesktopvideo.sh

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


टकसाल 13 XFCE के लिए mdm, edit / etc / mdm / Init / Default का उपयोग कर। "बाहर निकलें 0" से पहले अपनी स्क्रिप्ट को कॉल करें
स्टैकउंडर

इवन फेडोरा पर काम करता है ... केवल display-setup-scriptस्क्रिप्ट की जरूरत थी क्योंकि Xfce के पास यह पहले से ही डिस्प्ले सेटिंग्स द्वारा निर्धारित था, इसलिए session-setup-scriptबस मुझे लॉगिन स्क्रीन पर डंप कर दिया।
विल्फ

10

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

फ़ाइल संपादित करें /usr/sbin/lightdm-session

इस प्रकार अब उस फ़ाइल का पहला भाग दिखता है:

#!/bin/sh
#
# LightDM wrapper to run around X sessions.

echo "Running X session wrapper"

# Load profile
for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
  if [ -f  "$file" ]; then
     echo "Loading profile from $file";
     . "$file"
  fi
done

xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode CRT1 1368x768_60.00
xrandr --output CRT1 --mode 1368x768_60.00

# Load resources

ध्यान दें कि आपका मिलान करने के लिए Xrandr सेटिंग बदलनी चाहिए।


इस समाधान ने एक पुरानी मशीन पर 17.x lubuntu के लिए बहुत अच्छा काम किया। यह केवल सत्र को प्रभावित करता है, इसलिए अभिवादन लॉगिन स्क्रीन वांछित रिज़ॉल्यूशन के साथ प्रदर्शित नहीं होती है।
लैकनबस

6

मैं थोड़ी देर के लिए इसी तरह की समस्या को हल करने की कोशिश कर रहा हूं और एक ऐसा समाधान पाया है जो मेरे लिए काम करता है इसलिए उम्मीद है कि यह मदद करेगा ...

मेरी एक पुरानी ख्वाहिश है AOA110 कि मैंने कई बार स्क्रीन को तोड़ा है और एक नया लैपटॉप खरीदने के बाद फैसला किया है कि मैं इसे HTPC में बदलने की कोशिश करूंगा लेकिन बाहरी प्रदर्शन जो मुझे मिला है वह एक्स द्वारा मान्यता प्राप्त नहीं है इसलिए मुझे करना पड़ा है इसे सही रिज़ॉल्यूशन पर काम करने के लिए कई बार 'ट्विक' करें।

मैंने जो किया था यह रहा:

चरण 5 तक इस http://ubuntuforums.org/showthread.php?t=1112186 ट्यूटोरियल का उपयोग करने के बाद, मैं xrandr में एक कार्यशील और स्वीकार्य रिज़ॉल्यूशन खोजने में सक्षम था, लेकिन यह लाइट-डीएमडी लॉगिन स्क्रीन पर काम नहीं कर रहा था।

उपरोक्त चरणों का पालन करने के लिए इसे कैसे काम कर सकते हैं, इसका पालन न करें लेकिन मुझे लगता है कि यह 11.10 में करने का उचित तरीका है। मुझे यह पोस्ट आर्चीविकी https://wiki.archlinux.org/index.php/Xorg पर मिली जिसे मैंने अपनी आवश्यकताओं के अनुसार अनुकूलित किया।

पहले यहाँ एक फ़ाइल बनाएँ: /etc/X11/xorg.conf.d/10-monitor.conf

फिर अपने प्रदर्शन के लिए उचित एक्स विवरण जोड़ें यहां बताया गया है कि मेरा कैसा दिखता है:

Section "ServerLayout"
Identifier     "DualSreen"
Screen       0 "Screen0"
Screen       1 "Screen1" RightOf "Screen0" #Screen1 at the right of Screen0
#Option         "Xinerama" "1" #To move windows between screens
EndSection

Section "Monitor"
Identifier     "LVDS1"
Option         "ignore" "true"
EndSection

Section "Monitor"
Identifier     "VGA1"
Option         "Enable" "true"
Modeline "1440x900_60.00"  106.47  1440 1520 1672 1904  900 901 904 932  -HSync +Vsync
EndSection

Section "Device"
Identifier     "Device0"
Driver         "intel"
Screen         0
EndSection

Section "Device"
Identifier     "Device1"
Driver         "intel"
Screen         1
EndSection

Section "Screen"
Identifier     "Screen0"
Device         "Device0"
Monitor        "VGA1"
DefaultDepth    24
Option         "TwinView" "0"
SubSection "Display"
    Depth          24
    Modes          "1440x900_60.00"
EndSubSection
EndSection

Section "Screen"
Identifier     "Screen1"
Device         "Device1"
Monitor        "LVDS1"
DefaultDepth   24
Option         "TwinView" "0"
SubSection "Display"
    Depth          24
EndSubSection
EndSection

जोड़ने के लिए महत्वपूर्ण बिट उपयुक्त के अंतर्गत Section "Monitor"हैं, जिसमें उपयुक्त Modelineका उपयोग करते समय gtf 1440 900 60.00और फिर Section "Screen"सही सहित संबंधित के तहत शामिल हैं Modes

आप देखेंगे कि मैं जो करने की कोशिश कर रहा था, वह न केवल वीजीए 1 कनेक्शन को एक उपयुक्त प्रस्ताव पर सेट करने के लिए था, बल्कि यह भी बताएं कि यह मेरे एलवीडीएस 1 आउटपुट का उपयोग न करें। जाहिर है आपको अपने सेटअप के लिए सही संख्या में आउटपुट और सही डिवाइस, स्क्रीन और डिस्प्ले सेक्शन से मिलान करने के लिए उचित रूप से आपको ट्वीक करने की आवश्यकता होगी।

महाकाव्य पोस्ट के लिए खेद है, मैं कुछ समय के लिए xorg.conf फ़ाइलों को ट्विन कर रहा हूं अब हॅनस्प्री डिस्प्ले के साथ मैं और पुराने xorg.conf सेटअप का उपयोग कर रहा हूं जो मैंने पहले 11.10 का उपयोग किया था बस ठीक से काम नहीं करता है यह कोई और अधिक है। केवल समाधान मैंने पाया है कि काम करता है।

शुभ लाभ!


का उपयोग करके xrandr -qआपको सही जानकारी देनी चाहिए जिस पर प्रदर्शन का उपयोग किया जा रहा है और संभव मोड।
17

एक बेसिक कॉन्फिग फाइल को रनिंग द्वारा जनरेट किया जा सकता है Xorg :1 -configure, जो एक नया एक्स सर्वर बनाता है और इससे एक कॉन्फिग फाइल तैयार करता है - इसे इससे कॉपी किया जा सकता /root/xorg.conf.newहै /etc/X11/xorg.conf। मैंने पाया कि एक बेहतर तरीका उपरोक्त उत्तर था
विल्फ

5

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

मैंने सिर्फ एक फ़ाइल में अपने मॉनिटर के लिए निम्नलिखित स्क्रिप्ट जोड़ी: lighdmxrandr

xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
xrandr --addmode VGA1 1440x900_60.00

फिर मैं इसे अंदर बुलाता हूं /etc/lightdm/lightdm.conf

display-setup-script=/usr/bin/lightdmxrandr

एक बार लॉगिन करने के बाद मैं अपने मॉनिटर को डिस्प्ले में सेटअप कर सकता हूं और फिर से लॉग-इन करने के बाद भी यह काम करता है (मुझे बड़ी बदसूरत त्रुटि देने के लिए इस्तेमाल किया जाता है)।


इसने वांछित के रूप में काम किया लेकिन फिर से लॉगिन न करने के लिए रिबूट करना पड़ा ...
CrandellWS

4

जॉन रॉबर्ट्स के उत्तर के लिए एक वृद्धि के रूप में, मुझे यह निर्दिष्ट करना चाहिए कि वर्तमान सत्र में काम करने वाले सभी मापदंडों के लिए शेंडर अपनी स्क्रिप्ट स्क्रिप्ट में शामिल नहीं है। प्राथमिक मॉनीटर (यदि आप एक दोहरी मॉनीटर कॉन्फ़िगरेशन का उपयोग कर रहे हैं), ताज़ा दर और गामा सेटिंग्स प्रत्येक मॉनीटर के लिए शामिल नहीं हैं, उदाहरण के लिए। मेरा सत्र स्क्रिप्ट इस तरह दिखता है:

#!/bin/sh
xrandr --output LVDS --mode 1366x768 --pos 1600x432 --rotate normal --output HDMI-0 --off --output DVI-0 --off --output VGA-1 --mode 1600x1200 --rate 85 --pos 0x0 --rotate normal --primary
xrandr --output VGA-1 --gamma 0.8:0.7:0.55 

मैंने मैन्युअल रूप से पहली पंक्ति में - - और --primary विकल्प जोड़े और फिर मैन्युअल रूप से गामा सुधार के साथ एक दूसरी पंक्ति जोड़ी क्योंकि जाहिरा तौर पर xrandr गामा सेटिंग्स खो जाती हैं जब भी आप एक मॉनिटर को प्राथमिक स्विच करते हैं

मुझे नहीं पता है कि मॉनिटर प्राइमरी बनाते समय गामा सेटिंग्स के साथ यह विशेष व्यवहार है या बग है।

इसके अलावा सत्र शैल लिपि को lightdm द्वारा नहीं बल्कि एक स्टार्टअप अनुप्रयोग के रूप में कहा जाता है, क्योंकि ऐसा लगता है कि lightdm स्क्रिप्ट को कॉल करता है इससे पहले कि चीजें xrandr के लिए तैयार हों और अजीब चीजें होती हैं।


4

मुझे अपने नए LXDE बॉक्स पर एक विस्तारित प्रदर्शन चाहने की समस्या थी, (एक दोहरी क्लोन नहीं), सही कमांड मिला, लेकिन इसे स्थायी नहीं बना सका।

xrandr --output VGA-0 --right-of DVI-0

उपरोक्त विधियाँ बहुत कठिन लग रही थीं / इसे करने का सही तरीका नहीं था।

मुझे अंततः यह पता चला: http://www.sudo-juice.com/change-lxde-screen-resolution-ubuntu-lubuntu/

इसने एक इलाज किया, लेकिन मैंने इसके बजाय gedit का उपयोग किया:

gksu gedit /etc/xdg/lxsession/LXDE/autostart

फिर शुरू में एक @ प्रतीक के साथ अंत में रेखा को जोड़ा:

@xrandr --output VGA-0 --right-of DVI-0

आशा है कि मदद करता है और आप sudo- रस के लिए धन्यवाद।

PS -xrandr कमांड में डबल नोट करें --(मेरी स्क्रीन पर स्पष्ट रूप से नहीं दिखा)।


2

एक नया दस्तावेज़ बनाएं और उसे नाम दें जैसे /home/yourusername/yourscriptname.sh टाइप करें

#!/bin/bash
xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
xrandr --addmode VGA1 1600x900_60.00
xrandr --output VGA1 --mode 1600x900_60.00
unity --replace

और इसे अपने होम फोल्डर में सेव करें (यह संकल्प को 1600x900 पर सेट करता है)

स्टार्टअप एप्लिकेशन खोलें (या चलाएँ gnome-session-properties) और "ADD" पर क्लिक करें। एक नाम दें और कमांड लाइन में टाइप करें:

bash /home/yourusername/yourscriptname.sh

इसे सहेजें, और अब स्क्रिप्ट आपके द्वारा लॉगिन किए जाने पर अब चल जाएगी, इसलिए आपको इसे प्रभावी बनाने के लिए पहले लॉगआउट करना होगा। bash /home/yourusername/yourscriptname.shटर्मिनल में कमांड (जैसे ) चलाना भी एक अच्छा विचार है कि स्क्रिप्ट काम करती है या नहीं।


इस संपादित किया गया था (बजाय यदि हटाए गए) इस उत्तर के ओपी द्वारा के रूप में यह करने के बजाय यहां तैनात किया गया था यहाँ - मैं मूल स्वरूपण बहाल यह उपयोगी हो के रूप में यह प्रवेश पर xrandr config बहाल करना चाहिए सकता है के रूप में - bash स्क्रिप्ट की सामग्री चाहिए शायद सही कॉन्फ़िगरेशन प्राप्त करने के लिए उपयोग किए जाने वाले xrandr आदेशों के साथ प्रतिस्थापित किया जाए।
विल्फ

मेरे दोहरे-मॉनिटर डिस्प्ले में, मेरे HDMI-0 डिस्प्ले के लिए EDID को पढ़ा जा रहा है, लेकिन मेरे DVI-0 के लिए EDID को नहीं पढ़ा जा रहा है। काम करने के लिए संग्रहित एक विन्यास स्क्रिप्ट की ओर इशारा /usr/binकरते हुए काम नहीं किया, लेकिन उस स्क्रिप्ट को मेरे स्टार्टअप ऐप्स gnome-session-propertiesमें शामिल करना सफल रहा!
नोबिनजा

1

ऊपरी प्रतिक्रियाओं के आधार पर, मैंने कुछ परीक्षण किए हैं और एक उपयोगी विधि मिली है जो मेरे लिए काम करती है, फिर मैंने अपने स्वचालित इंस्टॉल के साथ इसे स्वचालित करने के लिए एक सरल स्क्रिप्ट बनाई है। लेकिन यह किसी भी अन्य मामलों में काम करेगा।

एक स्क्रिप्ट स्थापना बनाएँ।

#Variables for lightdm script and xrandr script to setup fixed resolution for old displays: 
xrandrscript=/usr/local/bin/xrandrscript.sh
lightdmstartscript=/usr/share/lightdm/lightdm.conf.d/60-xrandrscript.conf

 #Added old style configuration for lightdm: 
 sudo  ln -s /usr/share/lightdm/lightdm.conf.d /etc/lightdm/lightdm.conf.d
 #A fix to some old displays in high school at Fray Bentos, fix to 1024x768
 #Some useful information comes from: http://askubuntu.com/questions/63681/how-can-i-make-xrandr-customization-permanent
 sudo sh -c "echo '[SeatDefaults]' > $lightdmstartscript"
 # for your login screen, e.g. LightDM (Ubuntu 11.10) or GDM (11.04 or earlier)
 sudo sh -c "echo 'display-setup-script=$xrandrscript' >> $lightdmstartscript"
 # for your desktop session
 sudo sh -c "echo 'session-setup-script=$xrandrscript' >> $lightdmstartscript"
 sudo sh -c "echo 'xrandr --size 1024x768 --rate 60.0' > $xrandrscript"
 sudo chmod +x $xrandrscript

यह स्क्रिप्ट और लाइटमैड डिस्प्ले और सेशन के लिए फाइल बनाएगा। इसे निष्पादित करने की अनुमति देना न भूलें

chmod + x scriptinstallxrandrfixed.sh

और अमल करो

./scriptinstallxrandrfixed.sh (आपको उसी निर्देशिका में रखा जाना चाहिए जहाँ आपके पास फ़ाइल है।)

यदि समान निर्देशिका में नहीं है: /path/to/script/scriptinstallxrandrfixed.sh

अपनी आवश्यकताओं के अनुरूप इसे संशोधित करें। सधन्यवाद। पाब्लो।

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