acpi、xrandr、/ sys、udevなしでモニターが接続または切断されるタイミングをどのように検出しますか?

acpi、xrandr、/ sys、udevなしでモニターが接続または切断されるタイミングをどのように検出しますか?

私は次の質問に対する答えを読んだ。この問題しかし、ACPIがないため、/sys/class/drm/card0-socket/status動作せず、xrandrメソッドはCPUをブロックします。udevadm monitorモニターを接続(分離)すると、何も表示されません。

私は2013年頃にnVidia Quadroなどを備えたLenovo ThinkPad w530を使用しています。nouveauドライバを使用してLubuntu 18.04を実行しています。モニターは27インチフィリップス271Sです。 VGAケーブルを使用しています。

モニターの挿入(プラグの取り外し)を検出するには?

ベストアンサー1

私は外部画面のEDIDをポーリングしました。 read-edidパッケージをインストールし、visudoに1行を追加しました。

%sudo ALL=(ALL:ALL) NOPASSWD:/usr/bin/get-edid

パスワードのないget-edidを許可し、次のループを使用してください。

#!/bin/bash
#edid_based_automatic_display_loop.sh
エクスポートNEW_CONNECTION=1
NEW_DISCONNECTION=1 エクスポート

しかし:
する
    睡眠1
    sudo get-edid 2>/dev/null|parse-edid 2>/dev/null|grep "PHL 271S7Q">/dev/null
    _DISCONNECTED=`エコ$?`
    #Echo "$_DISCONNECTED 接続が失われました"
    if [ $_DISCONNECTED = "0" -a $NEW_CONNECTION = "1" ] ;
        NEW_DISCONNECTION = 1エクスポート;
        NEW_CONNECTION = 0エクスポート;
        bash /home/bruno/.screenlayout/only_external.sh
    elif [ $_DISCONNECTED = "1" -a $NEW_DISCONNECTION = "1" ] ;
        NEW_DISCONNECTION = 0 エクスポート;
        NEW_CONNECTION = 1エクスポート;
        bash /home/bruno/.screenlayout/only_laptop.sh
    フィリピン諸島
完璧

おすすめ記事