X11/Xorg ディスプレイをオフにする(スタンバイではない)

X11/Xorg ディスプレイをオフにする(スタンバイではない)

Waaylandでモニターの電源を切ったりbusctl --user set-property org.gnome.Mutter.DisplayConfig /org/gnome/Mutter/DisplayConfig org.gnome.Mutter.DisplayConfig PowerSaveMode offオンにしたり、Waylandを使用できなかったためにX11に戻る必要があった後、このコマンドはdpms強制終了と同じように機能します。

X11を使用すると実行できますが、sleep 1; xset dpms force offモニターをスタンバイモードにし、入力(マウスの動きなど)が検出されるとすぐに目を覚ます。これは不要な動作であるため、特定のショートカットを使用してディスプレイを目覚めさせる機能を好みます。これにより、モニターが誤ってまたは誤ってオンにならないようにすることができます。

もしそうなら、ユーザー入力がディスプレイを目覚めさせないようにX11でディスプレイを強制的にオフにするにはどうすればよいですか?

ベストアンサー1

DPMS「off」が何を意味するのか誤解されたようです。テーブルを見てウィキペディア、DPMSが実際に行うことは、水平同期信号と垂直同期信号(またはHDMI等価)をオフにしてグラフィックカードのDACを無効にしますが、グラフィックカードの残りの部分は引き続き実行され、スリープ状態を知らせることです。だからあなたはいいえすべてを完全にオフにすると、可能な限り「最も深い」スリープモードに入ります。

OTOHを使用すると、xrandr --off出力が完全にオフになり、モニターが何も接続されていないかのように、出力を生成するために使用されたグラフィックカードのすべてが無効になります。もちろん、これが唯一のモニターの場合は機能しません。それ以来、何も描くことができるグラフィックモニタがもうないからです。これは、デフォルトで接続されている2番目または3番目のモニタを有効または無効にするためのものです。

したがって、「完全オフ」ではなく「オフ」と呼ばれる最も深いDPMS省電力状態が望まれる。

あなたのbusctlコマンドはWaylandにPowerSaveModeDPMSを使用するように指示します。 Waylandは、マウスやキーボードの入力を検出してもDPMSを再度有効にしないように見え、オフのままです。

xset dpmsXサーバーにも同じ方法でDPMSを使用するように指示します。それはまったく同じです。違いは、入力が検出されると、XサーバーがDPMSを再びアクティブにすることです。

「理由」については、開発者がどのように動作するかを決定した方法です。 Xでは、xset dpms別のスクリーンセーバーがなくても機能するため、画面を再びオンにする方法はXサーバーに統合されています。 Waylandを使用すると、デザイナーは常に追加のスクリーンセーバーが必要であると判断したようです(PowerSaveModeWaylandに希望の内容を渡すことはその任務です)。これにより、スクリーンセーバーが入力を監視し、画面を再びオンにすることができます。スクリーンセーバーを装う能力はbusctlある程度偶然です。

これはバグではなく、デザインの違いだけです。

evtest --grab /dev/input/eventX私が言ったように、マウスとキーボードの入力スクリーンセーバーを試してみevtestてください。ioctl特定の入力の組み合わせを監視するには、とにかくこれを行う必要があります。

おすすめ記事