
ディスプレイに 2 つの HDMI (HDMI1 と HDMI2) 接続と 2 つの DisplayPort (DP1 と DP2) 接続があり、2 台の異なるコンピューター (コンピューター A とコンピューター B、各コンピューターに 1 つの HDMI と DP が接続) に接続されている場合、コンピューター A が HDMI1 または HDMI2、DP1 または DP2 に接続されているかどうかを検出することは可能ですか?
詳しい説明
私は Dell P4317Q ディスプレイ モニターを使用しています。これは 2 つの HDMI、1 つの DisplayPort、1 つの miniDisplayPort、および 1 つの VGA 入力を備えた 4K モニターで、単一の入力を表示する 4K から、ディスプレイを 4 つの象限 (各象限はフル HD) に分割して、4 つの異なる入力を同時に表示できる特別な機能を備えています。
使用例では、ユーザーは少なくとも 2 台の異なる Linux ボックス (最大 4 台の Linux ボックス、それぞれ X11 を使用して RHEL6 を実行) を持ち、各 Linux ボックスにはディスプレイへの 2 つのディスプレイ接続 (または 4 台の Linux ボックスを使用する場合は、ボックスごとに 1 つのディスプレイ接続) があります。
私は現在、追加の Linux ボックスをディスプレイの管理者として機能させるソフトウェアを作成しようとしています (ディスプレイ自体にも RS232 ポートがあり、ユーザーはディスプレイ上の物理的なメニュー ボタンを使用する代わりにシリアル コマンドを送信してディスプレイを制御できます)。このボックスは RS232 経由でモニターを照会し、どの象限にどの入力が表示されるかを判断し、次に各 Linux ボックスに照会して、そのボックスが接続されているモニターの物理的なディスプレイ接続を判断します。これにより、管理ボックスのユーザーには、どの Linux ボックスがディスプレイ モニターのどの象限のどのディスプレイ入力に接続されているかが表示されます。もちろん、ユーザーは Linux ボックスがディスプレイ モニターに接続するためにどの入力を使用するかを手動で追跡できますが、私はすべての関連情報をユーザーに自動的に表示するシームレスなソリューションを探しています。
調べてみたのxrandr
ですが、出力はグラフィック カード上の出力のローカル ID にのみ関係しているようです。
各 Linux ボックスでは Nvidia グラフィック カードも使用されているため、 も調べましたが、や(HDMI または DisplayPort の場合)、nvidia-settings
などの情報はグローバルに一意な接続 ID を参照しているのではなく、接続タイプ ( HDMI または DisplayPort の場合は 、VGA の場合は ) のみを参照しているようで、数字は配線タイプのみを参照しています (DisplayPort と miniDisplayPort はどちらも であるようです。Linux ボックスの mDP 出力をモニターの mDP に接続し、次に mDP-DP アダプター経由で DP に接続してみましたが、同じ接続タイプと配線が報告されました)。DFP-0
DFP-3
CRT-0
DFP
CRT
DFP-3
nvidia-settings
さらに、 も調べてみましたがnvidia-settings -q CurrentMetaMode
、 などの情報が出力されていますDPY
が、これもモニター上の物理的なディスプレイ接続のグローバルに一意の ID ではないようです。
ディスプレイ モニターには、物理的なディスプレイ接続のグローバルに一意の ID を表す属性がありますか? ある場合、Linux ボックスがどの物理的なディスプレイ接続 (タイプとインデックス、例: HDMI ポート 2) に接続されているかをプログラムで判断することは可能ですか?
答え1
ほとんどのディスプレイでは、入力を変更すると、どの入力が使用されるかが数秒間表示されると思います。
したがって、ソフトウェアで 4 つの入力のうち 3 つを無効にするだけで、残りのシステムがどの入力に接続されているかがディスプレイに表示されます。HDMI 入力に対して 1 回、DP 入力に対して 1 回、この操作を行う必要があります。
HDMI および DP 経由で転送されるディスプレイ メタデータについてはよくわかりません。ディスプレイ モデルが転送されることは知っています。入力ポート ID も転送されるかどうかは疑問ですが、もちろん可能です。