มีวิธีตรวจสอบอัตโนมัติเมื่อจอแสดงผลถูกตัดการเชื่อมต่อหรือไม่?


20

ฉันกำลังใช้งาน Ubuntu บน Dell Latitude พร้อมไดรเวอร์ล่าสุดของ Nvidia โดยทั่วไปสิ่งที่ฉันต้องการคือเมื่อฉันถอดการเชื่อมต่อจอแสดงผลภายนอกของฉันว่าทุกอย่างกลับไปที่หน้าจอหลักโดยไม่ต้องเปลี่ยนการตั้งค่าทุกครั้ง

ยินดีต้อนรับความช่วยเหลือใด ๆ !


คุณได้ลองsudo xrandr --autoหลังจากการเปลี่ยนแปลงหรือไม่?
Popinou

คำตอบ:


11

ก่อนติดตั้งdisperแล้วดาวน์โหลดautorandrและทำตามคำแนะนำเหล่านี้:

  • เมื่อไม่ได้ถอดจอภาพภายนอกให้รันคำสั่งต่อไปนี้ในเทอร์มินัล:

    auto-disper.sh --save undocked
    
  • เมื่อเชื่อมต่อจอภาพภายนอกและกำหนดค่าตามที่คุณต้องการ (ด้วยการตั้งค่าเซิร์ฟเวอร์ Nvidia X) ให้เรียกใช้:

    auto-disper.sh --save docked
    
  • ลอง:

    auto-disper.sh --change
    

    ด้วยจอภาพที่เชื่อมต่อและไม่ได้เสียบ ควรตรวจสอบสถานะและเปลี่ยนการกำหนดค่า

  • Finaly ทำแป้นพิมพ์ลัดสำหรับauto-disper.sh --change

ฉันพยายามสร้างสคริปต์ที่รันทุก 3 วินาทีดังนั้นการตรวจสอบอัตโนมัติจึงใช้งานได้ แต่ใช้ ressource มากเกินไป หวังว่าจะช่วยได้!


1
โปรเจ็กต์นี้ถูกรวมเข้ากับ autorandr และใช้ได้เฉพาะเพื่อให้ลิงก์ทำงานได้ โปรดตรวจสอบ autorandr github.com/wertarbyte/autorandr
belacqua

1
disperไม่ได้อยู่ใน 10.10 repositories มันสามารถใช้ได้เป็น ppa: launchpad.net/~disper-dev/+archive/ppa
belacqua

1

นี่เป็นข้อ จำกัด ของ Nvidia Twinview บน Linux ไดรเวอร์โอเพ่นซอร์สจะทำงานได้ตามที่คาดไว้ (แม้ว่าคุณจะเสียการเร่งความเร็ว 3 มิติและ Compiz)


1

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

สิ่งที่ฉันพบคือถ้าคุณมีไฟล์ชื่อ. xprofileไฟล์นั้นจะถูกเรียกทุกครั้งที่การแสดงผลเริ่มต้น (โดย X.org?) นี่คือเนื้อหาของไฟล์ของฉัน ที่คุณสามารถดูผมดัดแปลงมาจากที่นี่

สิ่งที่คุณควรทำคือบันทึกเป็น~ / .xprofileจากนั้นทำให้สามารถรันได้ ( chmod + x .xprofile ) ตรวจสอบว่าภายในและภายนอกของคุณเรียกว่า - ทำเช่นนี้โดยการเรียกใช้xrandrโดยไม่มีข้อโต้แย้ง ของฉันคือVGA1และLVDS1ตามลำดับ สิ่งสุดท้ายคือการตั้งค่าตัวแปร EXTERNAL_RES เป็นความละเอียดมาตรฐานของจอภาพภายนอกของคุณ

ตอนนี้เมื่อบู๊ตเครื่องมอนิเตอร์ที่เชื่อมต่อจะถูกใช้หากเชื่อมต่ออยู่ ส่วนที่ยุ่งยากคือระบบอัตโนมัติ (เช่นถอดสายเคเบิลขณะที่ Ubuntu กำลังทำงาน) ฉันไม่ได้พบวิธีแก้ปัญหาที่ดีมากสำหรับเรื่องนี้ แต่ดูเหมือนว่าการเปลี่ยนไปใช้คอนโซลเสมือนและด้านหลังนั้นเป็นการหลอกลวง (Ctrl-Alt-F1 และ Ctrl-Alt-F7) มันเร็วกว่าการขี่ไปตามความเป็นไปได้ทั้งหมดด้วยปุ่ม Fn (ซึ่งบางครั้งก็ทำให้จอแสดงผลเลอะ)


1

ใช้disper หลังจากติดตั้งแล้วคุณอาจต้องการสร้างทางลัดสองทาง:

  1. หากต้องการสลับไปใช้การแสดงผลแบบ extrnal ที่ความละเอียดสูงสุด: CTRL + E -> disper "max" -S
  2. เพื่อกลับไปที่จอแสดงผล PRimary: CTRL + P -> disper "max" -s

0

คุณสามารถกดFn+ ได้ตลอดเวลาF8หลังจากปลดการเชื่อมต่อจอภาพ ที่อาจจะเปลี่ยนกลับ


ไม่ทำงานบนคอมพิวเตอร์ของฉัน ปุ่ม FN ไม่ได้ทำอะไรเลย คุณรู้ไหมว่าอาจเป็นอะไร
Diego

@Diego สำหรับฉันเพียงแค่ใช้ F8 ทำงานได้ดี โดยไม่ใช้ปุ่มฟังก์ชั่นร่วม
kapad

0

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

http://ninetynine.be/blog/2010/05/quick-workaround-for-missing-switch-display-key-or-lcdcrt-key-on-ubuntu/

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