ฉันจะตรวจพบเมื่อเชื่อมต่อจอภาพภายนอกใน linux ได้อย่างไร
ฉันต้องเรียกใช้สคริปต์ต่าง ๆ เพื่อตั้งค่าพื้นที่ทำงานของฉัน
มีวิธีที่ชาญฉลาดในการเริ่มต้นสคริปต์เมื่อสถานะจอภาพเปลี่ยนไปหรือไม่?
ฉันใช้ไดรเวอร์การแสดงผลของ Nvidia
ฉันจะตรวจพบเมื่อเชื่อมต่อจอภาพภายนอกใน linux ได้อย่างไร
ฉันต้องเรียกใช้สคริปต์ต่าง ๆ เพื่อตั้งค่าพื้นที่ทำงานของฉัน
มีวิธีที่ชาญฉลาดในการเริ่มต้นสคริปต์เมื่อสถานะจอภาพเปลี่ยนไปหรือไม่?
ฉันใช้ไดรเวอร์การแสดงผลของ Nvidia
คำตอบ:
มีชุดเครื่องมือที่เรียกว่าread-edidที่สามารถวิเคราะห์ข้อมูลการระบุตัวตนของจอแสดงผลแบบขยาย (EDID) หากเครื่องมือเหล่านี้ตรวจพบภายนอกคุณสามารถตรวจสอบการตรวจจับเป็นระยะ ๆ และใช้เอาต์พุตเพื่อเริ่มต้นสคริปต์ ฯลฯ
คุณไม่ได้พูดถึงว่าคุณต้องทำสิ่งนี้หรือไม่โดยไม่คำนึงว่า X กำลังทำงานอยู่หรือไม่
ฉันกำลังมองหาคำตอบเดียวกัน: /
ฉันใช้ disper ( http://willem.engen.nl/projects/disper ) และ gconftool เพื่อเปิด / ปิดการใช้งานจอภาพที่สองของฉันพร้อมกับ gnome-panel ตัวที่สอง
disper -l แสดงรายการจอภาพที่เชื่อมต่อทั้งหมดดังนั้นคุณสามารถสำรวจว่าเป็นทางเลือกสุดท้าย
# only primary display
disper -s
gconftool-2 --type int --set /apps/panel/toplevels/panel_1/screen -- -1
# dual display (nvidia twinview)
disper -e
gconftool-2 --type int --set /apps/panel/toplevels/panel_1/screen 0
killall gnome-panel
คุณควรใช้udev
กิจกรรม ... กฎที่เป็นไปได้อาจมีลักษณะดังนี้:
KERNEL=="card0", SUBSYSTEM=="drm", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/ninette/.Xauthority", RUN+="/usr/local/bin/0x_hw_hotplug_monitor.sh"
(ที่มาhttps://bbs.archlinux.org/viewtopic.php?pid=1329375#p1329375 )
เมื่อพิจารณาจาก ณ วันที่ 270.18 ไดรเวอร์ไบนารีของ nVidia ยังคงดูเหมือนจะไม่ใช้ XRandR ที่ทันสมัยคุณอาจต้องใช้คำแนะนำของ new123456 ในการสำรวจความคิดเห็นเครื่องมือเช่นxrandr
การเปลี่ยนแปลงขนาดหน้าจอ
ในระบบของฉันฉันยังไม่พบวิธีที่จะทำให้ nVidia ประกาศอย่างถูกต้องxrandr
ว่าฉันมีจอภาพ 1280x1024 สองจอแทนที่จะเป็นหนึ่ง 2560x1024 เดียว ... ซึ่งตามที่คุณเดาได้ทำให้หน้าจอเกมเต็มจอทั้งสองเมื่อฉันห้าม พวกเขาจากการเปลี่ยนความละเอียด (มันทำให้คอมพิวเตอร์ติดกับดัก)
xrandr
ทุก ๆ สองสามวินาทีและเรียกใช้สคริปต์หากสังเกตเห็นความแตกต่าง