Wie kann ich erkennen, wenn ein externer Monitor unter Linux angeschlossen ist?
Ich muss verschiedene Skripte ausführen, um meinen Arbeitsbereich einzurichten.
Gibt es eine clevere Möglichkeit, ein Skript zu starten, wenn sich der Monitorstatus geändert hat?
Ich verwende den Nvidia-Bildschirmtreiber.
xrandr
alle paar Sekunden nach Änderungen in der Ausgabe fragt und die Skripte ausführt, wenn es einen Unterschied bemerkt.Antworten:
Es gibt eine Reihe von Tools namens read-edid , mit denen erweiterte Anzeigeidentifikationsdaten (EDID) analysiert werden können. Wenn Ihr externer Monitor von diesen Tools tatsächlich erkannt wird, können Sie möglicherweise regelmäßig nach einer Erkennung suchen und die Ausgabe zum Starten von Skripten usw. verwenden.
Sie haben jedoch nicht erwähnt, ob Sie dies tun müssen, unabhängig davon, ob X ausgeführt wird.
quelle
Ich habe nach der gleichen Antwort gesucht: /
Ich verwende disper ( http://willem.engen.nl/projects/disper ) und gconftool, um meinen zweiten Monitor zusammen mit einem zweiten Gnome-Panel darauf zu aktivieren / deaktivieren.
disper -l listet alle angeschlossenen Monitore auf, sodass Sie dies als letzten Ausweg abfragen können.
quelle
Sie sollten
udev
Ereignisse verwenden ... eine mögliche Regel könnte folgendermaßen aussehen:(Quelle https://bbs.archlinux.org/viewtopic.php?pid=1329375#p1329375 )
quelle
Da die nVidia-Binärtreiber ab 270.18 immer noch kein modernes XRandR zu implementieren scheinen, müssen Sie möglicherweise nur dem Vorschlag von new123456 folgen, um ein Tool wie
xrandr
nach Änderungen der Bildschirmgröße abzufragen .Auf meinem System muss ich noch einen Weg finden, um nVidia dazu zu bringen, ordnungsgemäß anzukündigen,
xrandr
dass ich zwei 1280x1024-Monitore anstelle eines einzelnen 2560x1024-Monitors habe sie von der Änderung der Auflösung. (Es macht meine Desktop-Stickies kaputt)quelle