
Wenn ein Display über 2 HDMI-Anschlüsse (HDMI1 und HDMI2) und 2 DisplayPort-Anschlüsse (DP1 und DP2) verfügt und an 2 verschiedene Computer angeschlossen ist (Computer A und Computer B, wobei an jeden Computer 1 HDMI und DP angeschlossen ist), kann dann erkannt werden, ob Computer A an HDMI1 oder HDMI2 und DP1 oder DP2 angeschlossen ist?
Längere Beschreibung
Ich verwende einen Dell P4317Q-Monitor. Es handelt sich um einen 4K-Monitor mit 2 HDMI-, 1 DisplayPort-, 1 MiniDisplayPort- und 1 VGA-Eingang und einer Sonderfunktion, mit der der Benutzer von der 4K-Anzeige eines einzelnen Eingangs auf die Aufteilung der Anzeige in 4 Quadranten (jeder Quadrant ist Full HD) umschalten kann, sodass der Benutzer 4 verschiedene Eingänge gleichzeitig anzeigen kann.
Der Anwendungsfall ist derart, dass der Benutzer mindestens 2 verschiedene Linux-Boxen (bis zu 4 Linux-Boxen, auf denen jeweils RHEL6 unter Verwendung von X11 läuft) hat, wobei jede Linux-Box über 2 Display-Verbindungen (oder bei Verwendung von 4 Linux-Boxen dann 1 Display-Verbindung für jede Box) zum Display verfügt.
Ich versuche derzeit, eine Software zu schreiben, mit der eine zusätzliche Linux-Box als Administrator für das Display fungieren kann (das Display selbst verfügt auch über einen RS232-Anschluss, über den der Benutzer serielle Befehle senden kann, um das Display zu steuern, anstatt die physischen Menütasten auf dem Display zu verwenden). Diese Box würde den Monitor über RS232 abfragen, um festzustellen, welcher Quadrant welchen Eingang anzeigt, und dann im Idealfall jede Linux-Box abfragen, um festzustellen, an welchen physischen Displayanschluss des Monitors diese Box angeschlossen ist. Dem Benutzer der Administratorbox würde dann angezeigt, welche Linux-Box mit welchem Displayeingang in welchem Quadranten des Displaymonitors verbunden ist. Natürlich könnte der Benutzer manuell nachverfolgen, welchen Eingang die Linux-Box verwendet, um sich mit dem Displaymonitor zu verbinden, aber ich suche nach einer nahtlosen Lösung, die dem Benutzer automatisch alle relevanten Informationen anzeigt.
Ich habe nachgeschaut xrandr
, die Ausgabe scheint sich jedoch nur auf lokale IDs für Ausgaben auf der Grafikkarte zu beziehen.
Jede Linux-Box verwendet auch Nvidia-Grafikkarten, also habe ich mir auch das angesehen nvidia-settings
, jedoch scheinen sich Informationen wie DFP-0
oder DFP-3
(für HDMI oder DisplayPort) und CRT-0
nicht auf global eindeutige Verbindungs-IDs zu beziehen, sondern nur auf den Verbindungstyp ( DFP
für HDMI oder DisplayPort, CRT
für VGA), und die Zahlen beziehen sich lediglich auf den Verkabelungstyp (DisplayPort und miniDisplayPort scheinen beide zu sein DFP-3
, habe versucht, den mDP-Ausgang der Linux-Box an das mDP des Monitors anzuschließen und dann DP über den mDP-DP-Adapter, aber es nvidia-settings
wurden derselbe Verbindungstyp und die gleiche Verkabelung gemeldet).
Darüber hinaus habe ich auch versucht nvidia-settings -q CurrentMetaMode
, mir anzusehen. Das gibt Informationen wie aus DPY
. Aber auch hier scheint es sich nicht um global eindeutige IDs für die physischen Anzeigeverbindungen auf dem Monitor zu handeln.
Verfügen Anzeigemonitore über Attribute, die global eindeutige IDs für die physischen Anzeigeanschlüsse darstellen? Wenn ja, ist es möglich, programmgesteuert zu bestimmen, an welche physischen Anzeigeanschlüsse (Typ und Index, z. B. HDMI-Anschluss 2) eine Linux-Box angeschlossen ist?
Antwort1
Ich vermute, dass die meisten Displays beim Ändern einige Sekunden lang anzeigen, welchen Eingang sie verwenden.
Man kann also einfach drei der vier Eingänge per Software deaktivieren und dann sollte das Display anzeigen, an welchem Eingang das verbleibende System angeschlossen ist. Das muss man einmal für die HDMI-Eingänge und einmal für die DP-Eingänge machen.
Ich kenne mich mit den Display-Metadaten, die über HDMI und DP übertragen werden, nicht aus. Ich weiß, dass das Displaymodell übertragen wird. Ich bezweifle, dass auch die Eingangsport-ID übertragen wird, aber das ist natürlich möglich.