ฉันจะบันทึกการตั้งค่าความละเอียดใหม่ด้วย xrandr ได้อย่างไร


13

ฉันพบว่าบางแห่งในฟอรัมแก้ปัญหาที่ความละเอียดเพียงอย่างเดียวคือ 800x600 และ 1024x768 ฉันจัดการเพื่อรับ 1440x900 ซึ่งทำงานได้ดีมาก ทุกครั้งที่ฉันรีบูตเครื่องจะหายไป ฉันถูกบังคับให้พิมพ์คำสั่งอีกครั้งดังนั้นฉันจะบันทึกได้อย่างไร ฉันคิดว่ามันเป็นคำสั่งง่ายๆ แต่ฉันเป็น noobs ที่ใหญ่ที่สุดเมื่อพูดถึง Ubuntu คำสั่งคือ:

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

คำตอบ:


20

คุณมีหลายตัวเลือก แต่ที่ง่ายที่สุดคือการวางคำสั่งของคุณตามที่คุณให้ไว้ใน$HOME/.xprofileไฟล์ จากนั้นระบบจะดำเนินการทุกครั้งที่คุณลงชื่อเข้าใช้

โดยค่าเริ่มต้นไฟล์นี้ไม่มีอยู่ใน Ubuntu และอาจจำเป็นต้องสร้างขึ้นด้วยตนเองจากนั้นจึงสามารถเรียกใช้งานได้ คำสั่งต่อไปนี้จะทำสิ่งนี้:

touch $HOME/.xprofile
chmod +x $HOME/.xprofile

สังเกตข้อบกพร่องเล็ก ๆ 2 ข้อของวิธีนี้:

  1. .xprofile การเข้าถึงเกิดขึ้นค่อนข้างช้าในกระบวนการเริ่มต้นดังนั้นคุณอาจเห็นการปรับขนาดความละเอียดหน้าจอเริ่มต้น
  2. นี่เป็นการตั้งค่า 'ต่อผู้ใช้' และอาจจำเป็นต้องทำซ้ำสำหรับผู้ใช้รายอื่นในระบบของคุณ

หากคุณต้องการเจาะลึกยิ่งขึ้นมีตัวเลือกอื่น ๆ สองสามตัวที่มีอยู่ในลิงค์อ้างอิงด้านล่าง แต่ตัวเลือกนี้ยังปลอดภัยและง่ายที่สุด

อ้างอิง:


1
คุณได้ช่วยฉันเวลามาก! ขอบคุณมันทำงานได้อย่างไร้ที่ติ!
เจคอบเจ

1
+1 วิธีนี้ใช้ได้ดีเมื่อเข้าสู่ระบบไม่มีใครรู้วิธีแก้ไขเพื่อให้ฉันเห็นหน้าจอเข้าสู่ระบบได้จริงหรือไม่
James Bradbury

12

คำตอบที่ยอมรับจะใช้การกำหนดค่าเดียวกันโดยไม่คำนึงถึงสถานะของจอแสดงผลที่เชื่อมต่อ สิ่งนี้ไม่ได้ผลสำหรับฉันเนื่องจากฉันเชื่อมต่อกับจอแสดงผลต่างๆที่ทำงานและที่บ้าน autorandrอนุญาตการกำหนดค่า xrandr อัตโนมัติสำหรับการตั้งค่าการแสดงผลที่แตกต่างกัน หากต้องการใช้ autorandr

  1. ติดตั้งด้วยsudo apt install autorandr(ทดสอบบน Ubuntu 18.04)
  2. กำหนดค่าจอภาพของคุณตามที่คุณต้องการ xrandr
  3. จัดเก็บการกำหนดค่าของคุณด้วยautorandr --save work(ฉันกำลังจัดเก็บการกำหนดค่าการทำงานของฉันเลือกชื่อที่เหมาะสมกับคุณ)
  4. ตั้งค่าคอนฟิกต่อด้วยautorandr --change workเพื่อเลือกตั้งค่าหรือเพียงautorandr --changeเพื่อให้อนุมานค่าของคุณจากจอภาพที่เชื่อมต่อของคุณ

XDG autostart .desktop มีให้เช่นกันและติดตั้ง/etc/xdg/autostart/autorandr.desktopโดยค่าเริ่มต้น


1

การกำหนดค่าอย่างง่ายต่อไปนี้ใช้งานได้สำหรับฉันและเมื่อเชื่อมต่อจอภาพของฉันจะใช้ความละเอียดที่ถูกต้องโดยอัตโนมัติโดยไม่มีการแทรกแซงด้วยตนเอง

sudo nano /etc/X11/xorg.conf

โปรดทราบว่าไฟล์นี้อาจมีหรือไม่มีอยู่ เพิ่มรายการต่อไปนี้:

Section "Monitor"
    Identifier "VGA1"
    Modeline   "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
EndSection    

จากนั้นรีบูท หากทุกอย่างเป็นไปด้วยดีสิ่งต่าง ๆ ก็น่าจะใช้ได้

พื้นหลัง

ฉันมีแล็ปท็อป UX32VD และฉันต้องการมี 4K มากกว่า HDMI แม้ว่าจะไม่มีตัวเลือก 3840x2160 ในการตั้งค่าการแสดงผล

งานแรกของฉันคือการคำนวณแบบจำลอง ข้ามขั้นตอนนี้หากคุณรู้จักแบบจำลองอยู่แล้ว (ใน modeline ด้านล่างทำงานพฤษภาคมสำหรับคุณ.) ฉันดาวน์โหลดUMC-0.2.tar.gzสกัดและวิ่งและ./configure makeเพื่อให้ได้ 25Hz Reverse Blanking Timing Mode ฉันวิ่ง

umc-0.2/src/umc 3840 2160 25 --rbt

ซึ่งผลลัพธ์

    # 3840x2160x24.99 @ 54.625kHz
    Modeline "3840x2160x24.99"  218.500000  3840 3888 3920 4000  2160 2163 2167 2186  +HSync -VSync

ต่อไปฉันต้องการทดสอบแบบจำลองนี้ เล่นxrandrกับการขัดแย้งใดผมเห็นว่าอุปกรณ์ HDMI HDMI-1ของฉันคือการตั้งชื่อ ฉันทดสอบโหมดนี้โดยใช้คำสั่งที่คล้ายกับของ Jacob:

xrandr --newmode "3840x2160x24.99"  218.500000  3840 3888 3920 4000  2160 2163 2167 2186  +HSync -VSync
xrandr --addmode HDMI-1 "3840x2160x24.99"
xrandr --output HDMI-1 --mode "3840x2160x24.99" --preferred

ในที่สุดเมื่อต้องการแก้ไขความละเอียดอย่างถาวรฉันได้สร้างขึ้น/etc/X11/xorg.confด้วยเนื้อหาต่อไปนี้:

Section "Monitor"
    Identifier "HDMI-1"
    Modeline   "3840x2160x24.99"  218.500000  3840 3888 3920 4000  2160 2163 2167 2186  +HSync -VSync
EndSection  

ในการทดสอบให้รีสตาร์ทคอมพิวเตอร์

ฉันควรทราบว่าฉันกำลังทำงานnvidia-driver-390บน Ubuntu 18.04 หวังว่าเทคนิคของฉันจะสรุปได้ดีกับการกำหนดค่าอื่น ๆ (โปรดแจ้งให้เราทราบในความคิดเห็น)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.