การตั้งค่าจอภาพที่สองด้วย xrandr: ขยายโดยไม่ต้อง / ปิดการเลื่อน


11

นี่ไม่ใช่คำถาม แต่เป็นการแก้ไขปัญหาภายใต้ Ubuntu ฉันพบ

ตั้งค่า:
รับหน้าจอแล็ปท็อป (เช่น "LVDS-1-0") และหน้าจอที่สอง (เช่น "DP-1") โดยมีหน้าจอที่สองเป็นหน้าจอหลักของคุณและจอภาพของคุณอยู่ทางขวาของหน้าจอหลักของคุณ ( หรือซ้าย) เป็นส่วนขยาย (ดูรูปภาพ) หน้าจอแรกถูกขยายออกไปตลอดเวลาแม้จะมีคำแนะนำ xrandr อย่างชัดเจนไม่ให้ทำเช่นนี้ เมื่อป้อนสิ่งนี้ฉันสามารถหลีกเลี่ยงการเลื่อนที่น่ารำคาญเมื่อเลื่อนเคอร์เซอร์เมาส์ไปทางขวาบนหน้าจอหลัก

xrandr --output LVDS-1-0 --off
xrandr --output DP-1 --mode 1920x1080 --primary --pos 0x0 --output LVDS-1-0 --mode 1920x1080 --pos 1920x0

หลังจากนี้จะเปลี่ยนจากจอภาพหนึ่งไปอีกจอหนึ่งโดยไม่ต้องเลื่อนหน้าจอ

ปรับปรุง

หลังจากเปลี่ยนเป็นการ์ดกราฟิกแยก (nvidia เป็นแบบแยกและ intel ถูกรวมเข้ากับแล็ปท็อปของฉัน) ลำดับของผลลัพธ์ที่จำเป็นต้องเปลี่ยน:

output_DP=$(xrandr | grep " connected" | grep DP | awk '{print $1}')
output_LVDS=$(xrandr | grep " connected" | grep LVDS | awk '{print $1}')

xrandr --output $output_LVDS --off
xrandr --output $output_LVDS --mode 1920x1080 --pos 1920x0 --output $output_DP --mode 1920x1080 --pos 0x0  --primary

เพื่อความสะดวกยิ่งขึ้นฉันได้ทำให้ตัวแปรเหล่านี้มีความยืดหยุ่นมากขึ้นตั้งแต่การสลับระหว่างกราฟิกการ์ดแยกและกราฟิกรวมเปลี่ยนการกำหนดอุปกรณ์เอาท์พุท (เช่น LVDS-1-0 เทียบกับ LVDS-1)

ตรวจสอบเค้าโครง

คำตอบ:


6

ฉันพบข้อผิดพลาดเดียวกัน วิธีแก้ปัญหาของคุณไม่ได้ผลสำหรับฉัน เคล็ดลับของคุณเป็นเพียงทริกเกอร์ที่ทำให้แมลงไม่ตกฉันขุดเข้าไปเล็กน้อยและพบคนดีด้วยวิธีแก้ปัญหาที่อาจช่วยคนอื่นที่นี่เช่นกัน

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

นี่คือวิธีที่คุณสามารถทำได้:

xrandr \
  --output LVDS-1-0 --mode 1920x1080 --panning 1920x1080 --pos 1920x0 \
  --output HDMI-0   --mode 1920x1080 --panning 1920x1080 --pos 0x0    --primary

(Slashed \เพิ่มเพื่อใช้บรรทัดใหม่ในคำสั่ง)

น่าเศร้าปัญหาที่นี่คือไดรเวอร์(นั่นคือข้อผิดพลาด)ดูเหมือนว่าจะเขียนทับปรากฎว่าเราตั้ง (หรือไม่ได้ตั้งค่า) แต่สิ่งที่ไม่ได้เป็นการตั้งอีกส่วนหนึ่งของการแพนกล้อง: พื้นที่การติดตาม! จริง ๆ แล้วพื้นที่การติดตามเป็นส่วนหนึ่งของหน้าจอที่กล้องตามเคอร์เซอร์บนจอภาพนั้น

tl; dr: ดังนั้นความคิดคือการตั้งการแพนเป็นไดรเวอร์ แต่ จำกัด พื้นที่การติดตามแทน

สิ่งนี้ทำด้วยคำสั่งต่อไปนี้:

xrandr \
  --output LVDS-1-0 --mode 1920x1080 \
  --output HDMI-0   --mode 1920x1080 --panning 3840x1080+0+0/1920x1080+1920+0/0/0/0/0    --primary

"พารามิเตอร์สี่ตัวแรก[ของpanningอาร์กิวเมนต์]ระบุพื้นที่ปรากฎทั้งหมด, พื้นที่ติดตามตัวชี้สี่ตัวถัดไป (ซึ่งเป็นค่าเริ่มต้นไปยังพื้นที่เดียวกัน) พารามิเตอร์สี่ตัวสุดท้ายระบุเส้นขอบและค่าเริ่มต้นเป็น 0" [ man xrandr ]


ฉันใส่คำสั่งสุดท้ายในเชลล์สคริปต์ที่ฉันเรียกใช้ผ่านแป้นพิมพ์ (เมื่อสลับฮาร์ดแวร์การแสดงผล) และไม่กี่วินาทีหลังจากล็อกอินโดยอัตโนมัติ
เซบาสเตียนบาร์ท

การตั้งค่าพื้นที่ติดตามเป็นสิ่งสำคัญในการตั้งค่าของฉันเช่นกัน
krlmlr

ในตอนท้ายทางออกของคุณไม่ได้ช่วยฉัน แต่ฉันพบวิธีแก้ปัญหาโดยทิ้งความละเอียดไว้ตามลำพัง คำสั่งสำหรับกระจก: xrandr --output HDMI1 --same-as Laptop1และสำหรับขยาย:xrandr --output Laptop1 --auto --output HDMI1 --auto --left-of Laptop1
Edenshaw
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.