「xset dpms force off」でデュアルモニターをオフにしても機能しません。なぜでしょうか?

「xset dpms force off」でデュアルモニターをオフにしても機能しません。なぜでしょうか?

次のコマンドを実行してデュアル モニターをオフにしたいのです xset dpms force offが、プライマリ モニターのみがオフになり、もう 1 つのモニターは「黒い画面」が表示されるだけで (オフになった場合のように)、オフになっていません。LED は緑色に光り続けて、モニターがオンになっていることを示しています。

答え1

xrandr正確には何を達成しようとしているのですか? モニターの使用を管理するには、スクリプトで最適な武器となるrandr 拡張機能を使用できます (使用する必要があります) 。

xrandr -qコンピュータのすべての出力と、接続されているモニターに関する情報を表示します。出力を無効にするには、次のように入力しますxrandr --output=HDMI1 --off。あなたの場合、「HDMI1」を、出力の名前を示すものに置き換える必要がありますxrandr -q。出力が無効になっていると、X はこのモニターを (まったく) 使用しなくなり、スリープ状態になる可能性が高くなります。

実際にモニターをオフにしたい場合、問題は、xsetがコンピューターに接続されているモニターの数を認識しておらず、気にも留めないことxsetです。これは、 が Xserver と通信し、そのコンポーネントやハードウェアと通信しないためです。つまり、 はxset1 つの「dpms force off」要求を送信し、その要求は (処理されて) Xserver によってモニターの 1 つに送信されます。おそらく、 はプライマリ モニター、つまり によって表示されるリストの最初に表示される出力に接続されているモニターに送信されますxrandr -q。gnome を使用している場合、これは gnome パネルが配置されているモニターと同じです。

実際には、xsetリクエストを 2 回発行する必要があると思います。それがすぐに役に立たない場合は、接続されているモニターのうちどれがプライマリでどれがそうでないかについて、問題を明確にする必要があると思います。

xrandrオプションを使用して、プライマリ出力/モニターを設定できます--primary。出力が と の場合HDMI1HDMI2次を試してください。

xrandr --output HDMI2 --primary
xset dpms force off
xrandr --output HDMI1 --primary
xset dpms force off

の出力を確認しxrandr -q、リストされている順序の逆順、つまり下から上にモニタをオフにするスクリプトを作成します。その理由は、(x)randr は任意に出力をデフォルト出力にできるはずですが、特にクローズド ソース ドライバが関係している場合は、完璧に動作するとは信じられません/信じていません。モニタを逆順に処理することで、「自然な」プライマリ モニタを最後にオフにし、問題が発生した場合、「自然な」プライマリ モニタを利用できるようにしておくことが、完全に機能する Xserver を実現する最善の方法です。

答え2

質問の明確化: Rox は、席を離れるときにモニターをオフにしたい (ただし、コンピューターは起動したままにしておきたい) のだと思います。これは通常、スクリーンセーバーがしばらくきれいなパターンを表示した後に発生します。「xset dpms force off」コマンドを使用すると、DPMS スクリーンセーバーが起動するまで 30 分待たずに、動作しているかどうかをテストできます (DPMS オフのタイムアウトを非常に短く設定することもできますが、これもテストを高速化する 1 つの方法です)。

これを自分のシステムでテストしたところ、次のものがありました: 01:00.0 VGA 互換コントローラー: Advanced Micro Devices [AMD] 旧 ATI RV620 LE [Radeon HD 3450]。「xset dpms force off」と入力すると、両方のモニターに 3 秒間「信号なし」と表示され、その後 LED がオレンジ色に変わります (つまり、スリープ モード)。「私の場合はうまくいきました」!

それで... あなたの状況で何が問題なのかを解明するには、モニターを交換して、2 台目のモニターが DPMS 対応であることを確認できますか? もしそうなら、私の予想通り、これはバグかもしれません。おそらく、チップ/ソフトウェアに特有のものです。最新のソフトウェアを実行していますか? (例: ubuntu 12.04)。

関連情報