モニターが接続されているかルートテストできますか?

モニターが接続されているかルートテストできますか?

ノートブックカバーを閉じるときに/etc/acpiscreen()をオフにするスクリプトを使用しています。xset dpms force offこれで、外部モニターを接続するときに動作が異なるように(明るさを0に設定する)ようにします。接続されているかどうかをテストできますが、xrandrスクリプトはルートによって実行され、xrandrは特定のXセッションに依存します。 Xセッションに関係なく、モニタが接続されているかどうかをルートテストする方法はありますか?私はアーチLinuxを使用しています。

ベストアンサー1

方法 #1 - edid デコード

これにより、edid-decodeどのモニターが接続されているかを確認できます。これは私のUbuntu 16.04システムからのものですが、Fedora 28とCentOS 7.xでも動作します。

メモ:この特定のシステムには2つのビデオポートがあり、私はVGAポートを使用しました。

このモニターは接続されています:

$ ls /sys/class/drm/*/edid | xargs -n 1 edid-decode | grep Manufacturer:
Manufacturer: DEL Model a071 Serial Number 844247885
Manufacturer: @@@ Model 0 Serial Number 0

VGAモニターを取り外すと、これが起こります。

$ ls /sys/class/drm/*/edid | xargs -n 1 edid-decode | grep Manufacturer:
Manufacturer: @@@ Model 0 Serial Number 0
Manufacturer: @@@ Model 0 Serial Number 0

ここに再挿入されます。

$ ls /sys/class/drm/*/edid | xargs -n 1 edid-decode | grep Manufacturer:
Manufacturer: DEL Model a071 Serial Number 844247885
Manufacturer: @@@ Model 0 Serial Number 0

方法#2 - 猫sysfs

どのディスプレイポートがあるかを詳しく見ると、/sysここに表示されます/sys/class/drm

$ ls /sys/class/drm
card0  card0-DP-1  card0-HDMI-A-1  controlD64  renderD128  version

モニターの表示ポートはcard0-DP-1(VGA)とcard0-HDMI-A-1(HDMI)です.各ディレクトリを見ると、というファイルがあります。このファイルをstatus使用するとcat、そのポートの状態とモニターが接続されているかどうかがわかります。

上記と同じテストに以下を挿入します。

$ cat /sys/class/drm/card0-DP-1/status
connected

プラグを抜く:

$ cat /sys/class/drm/card0-DP-1/status
disconnected

引用する

おすすめ記事