ไม่อัปเดตการตั้งค่าการแสดงผลเมื่อตัดการเชื่อมต่อจอภาพภายนอก


8

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

คำย่อ:

  • เปิด system settings
  • คลิก Displays

ข้อมูลจำเพาะที่เป็นประโยชน์:

  • ไดร์เวอร์กราฟิก : nvidia-313 (ปัญหานี้เกิดขึ้นกับไดร์เวอร์ที่เป็นกรรมสิทธิ์อื่น ๆ )
  • กราฟิกการ์ด : Nvidia Quadro K1000M
  • ตรวจสอบ : Benq ET-0019-N
  • สายเคเบิล : VGA D-sub DE15
  • ระบบปฏิบัติการ : Ubuntu 13.04

ฉันต้องการให้ Ubuntu อัปเดตการตั้งค่าการแสดงผลโดยอัตโนมัติทุกครั้งที่ถอดสายจอมอนิเตอร์ออก ฉันจะทำอย่างไร


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

ฉันได้แก้ไขคำถามเพื่อตอบคำถามของคุณ
Joren

1
การตั้งค่าการแสดงผลได้รับการอัพเดตเมื่อคุณเริ่มคอมพิวเตอร์โดยไม่ใช้สายเคเบิลจากนั้นต่อหรือไม่ ถ้าไม่พวกเขาจะปรับปรุงเมื่อคุณออกคำสั่งxrandrด้วยตนเอง?
Jorge Suárez de Lis

คุณลองจอมอนิเตอร์และสายเคเบิลอื่นไม่ได้หรือ ฉันรู้ว่ามันทำงานบน Windows บางที Windows อาจใช้วิธีอื่นในการตรวจหาอัตโนมัติ
Jorge Suárez de Lis

ฉันไม่มีจอภาพอื่น :(
Joren

คำตอบ:


2

มีข้อผิดพลาดเก่าบน Launchpad - ข้อผิดพลาด # 306735 - ซึ่งทำเครื่องหมายว่าไม่ถูกต้องคำอธิบายที่เป็นปัญหาที่ทราบ แต่ค่อนข้างซับซ้อน (คำอธิบายเพิ่มเติมที่นี่ )

ดังนั้นเท่าที่ฉันรู้ไม่มีวิธีอัตโนมัติสำหรับสิ่งที่คุณถามในความหมายที่แท้จริง แต่คุณสามารถใช้autorandr(คุณต้องติดตั้งdisperครั้งแรก - วิ่งsudo apt-get install disperจากสถานี ) สคริปต์โดยสเตฟาน Tomanek การใช้สคริปต์นี้ ( autorandr) คุณสามารถเพิ่มแป้นพิมพ์ลัดสำหรับautorandr --changeคำสั่งและสิ่งที่คุณต้องทำเมื่อคุณเชื่อมต่อหรือยกเลิกการเชื่อมต่อจอภาพภายนอกคือกดแป้นพิมพ์ลัดนั้น ทั้งหมดนี้อธิบายได้ดีมากในคำตอบนี้ (ฉันเพิ่งทดสอบใน Ubuntu 13.04 และทุกอย่างเป็นไปด้วยดี)

หลังจากที่คุณทดสอบสคริปต์ในเทอร์มินัลคุณต้องเห็นโพสต์ต่อไปนี้หากคุณต้องการเพิ่มทางลัดแป้นพิมพ์แบบกำหนดเองสำหรับสคริปต์:


ฉันติดตั้ง disper ไว้แล้ว แต่ไม่พบ autorand
Joren

@Joren คุณหมายถึงอะไรโดยไม่พบ? มันเป็นสคริปต์ที่ลิงค์ที่กำหนดในคำตอบ คุณต้องการความช่วยเหลือเกี่ยวกับวิธีใช้หรือเรียกใช้หรือไม่
Radu Rădeanu

โอ้ไม่เป็นไรฉันคิดว่ามันมาโดยอัตโนมัติด้วย disper
Joren

@ Joren ไม่ไม่ (ฉันคิดว่าคำตอบของฉันชัดเจน) คุณต้องสร้างสคริปต์ไฟล์ชื่อด้วยตนเองautorandrหรือautodisperใส่ข้อความทั้งหมดจากที่นี่ตรงตามที่มันเป็นและบันทึกไว้ใน~/binไดเรกทอรีของคุณ อย่าลืมที่จะทำให้มันใช้งานได้กับ: chmod +x ~/bin/autorandr(หรือchmod +x ~/bin/autodisper) แล้วเพียงแค่เรียกใช้autorandr --help(หรือautodisper --help) เพื่อขอความช่วยเหลือเพิ่มเติม
Radu Rădeanu

1
ฉันยังมีปัญหานี้ใช้ 16.04! = / disperยังอยู่รอบ ๆ แต่ฉันต้องเรียกใช้บางสิ่งบางอย่างdisper -eและทุกอย่างกลับไปใช้งานได้แม้แต่แอปพลิเคชันดิสเพลย์
Nigini

1

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


1

จากภาคผนวก B ในไดรเวอร์ NVIDIA README :

Option "UseHotplugEvents" "boolean"

เมื่อเปิดใช้งานตัวเลือกนี้ไดรเวอร์ NVIDIA X จะสร้างการเปลี่ยนแปลงการแสดงผล RandR เมื่อมีการเสียบจอแสดงผลหรือถอดปลั๊กจาก GPU NVIDIA สภาพแวดล้อมเดสก์ทอปบางประเภทจะรับฟังเหตุการณ์เหล่านี้และกำหนดค่าเดสก์ทอปใหม่แบบไดนามิกเมื่อมีการเพิ่มหรือลบการแสดงผล

การปิดใช้งานตัวเลือกนี้จะระงับการสร้างเหตุการณ์ RandR สำหรับการแสดงที่ไม่ใช่ DisplayPort เช่นการเชื่อมต่อผ่าน VGA, DVI หรือ HDMI ไม่สามารถระงับกิจกรรม Hotplug สำหรับการแสดงผลที่เชื่อมต่อผ่าน DisplayPort

โปรดทราบว่าการตรวจสอบการกำหนดค่าการแสดงผล (เช่นการตั้งค่า xrandr หรือ nvidia) อาจทำให้การแสดงผลที่เปลี่ยนไปของการแสดงผล RandR ไม่ว่าจะเปิดหรือปิดตัวเลือกนี้หรือไม่ก็ตาม นอกจากนี้บางพอร์ต VGA ไม่สามารถตรวจจับ hotplug: ในพอร์ตดังกล่าวการเพิ่มหรือการถอดจอแสดงผลสามารถตรวจพบได้โดยการกำหนดค่าการแสดงผลอีกครั้ง

ค่าเริ่มต้น: เปิด ไดรเวอร์จะสร้างกิจกรรม RandR เมื่อมีการเพิ่มหรือลบการแสดงผล

ดังนั้นสมมติว่าคุณไม่ได้ปิดการใช้งานตัวเลือกนี้ปัญหาจะแคบลงเป็นหนึ่งในตัวเลือกเหล่านี้:

  • สายเคเบิล VGA หรือขั้วต่อ VGA บนการ์ดมีพิน DDC บางตัวหัก (ทั้งขา 12, ขา 15 หรือขา 9) โปรดต่อสายเคเบิล VGA อีกอันแล้วลองอีกครั้ง

  • การ์ดแสดงผลที่ใช้ Nvidia Quadro K1000M ของคุณมีตัวเชื่อมต่อที่ไม่รองรับการตรวจจับนี้และเรียกใช้xrandrหรือเทียบเท่า (เมื่อเปิดการตั้งค่าการแสดงผล) จะเป็นการเริ่มต้นการตรวจจับนี้ หากเป็นกรณีนี้จะไม่ทำงาน - แต่การตรวจจับไม่ควรทำงานบนระบบปฏิบัติการอื่น ไม่เคยเห็นสิ่งนี้ในคนแม้ว่า

  • หรืออาจมีข้อผิดพลาดบางอย่างในไดรเวอร์ NVIDIA ที่ป้องกันไม่ให้การตรวจจับนี้ทำงานอย่างถูกต้อง ลองไดรเวอร์รุ่นอื่น (เช่น 304) และดูว่าปัญหายังคงมีอยู่หรือไม่


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

ตกลง. นี่ไม่ใช่คำตอบที่ถูกต้อง แต่เพื่อพยายามช่วยคุณ: ในขณะที่คุณรอคำตอบให้ถามในฟอรัม NVIDIA Linuxด้วย
Jorge Suárez de Lis

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