Display Power Management Signaling

提供: ArchWiki
2017年1月29日 (日) 00:36時点におけるKusakata (トーク | 投稿記録)による版 (文字列「[[zh-CN:」を「[[zh-hans:」に置換)
ナビゲーションに移動 検索に移動

DPMS (Display Power Management Signaling) はコンピュータが操作されていないときにモニターを省電力モードに移行させる技術です。

それぞれの Timeout の詳細は ここ の Description セクションを見て下さい。

X で DPMS を設定する

ノート: Xorg 1.8 から DPMS は自動で検出され、カーネルの実行時に ACPI が有効になっていれば自動で有効になります。

以下を /etc/X11/xorg.conf.d/ 下のファイルの Monitor セクションに追加してください:

Option "DPMS" "true"

以下を ServerLayout セクションに追加してください、時間 (分単位) は必要に応じて変更してください:

Option "StandbyTime" "10"
Option "SuspendTime" "20"
Option "OffTime" "30"
ノート: "OffTime" オプションが機能しない場合は、以下で置き換えてください ("blanktime""0" に変更すると画面の暗転が無効になります):
Option         "BlankTime" "30"

サンプルファイル /etc/X11/xorg.conf.d/10-monitor.conf は以下のようになります。

Section "Monitor"
    Identifier "LVDS0"
    Option "DPMS" "false"
EndSection

Section "ServerLayout"
    Identifier "ServerLayout0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "OffTime"     "0"
    Option "BlankTime"   "0"
EndSection

xset を使って DPMS とスクリーンセーバーの設定を変更する

公式リポジトリxorg-xset パッケージに入っている xset ツールを使うことでモニターを切ることが可能です。

ノート: シェルにおいてこのコマンドを手動で使用する場合、正しく動作させるために sleep 1; を前に付ける必要があるかもしれません。例: $ sleep 1; xset dpms force off

Energy Star (DPMS) の機能を操作するには (タイムアウト値をゼロにするとそのモードが無効になります):

$ xset -dpms Energy Star features off
$ xset +dpms Energy Star features on
$ xset dpms [standby [suspend [off]]]     
$ xset dpms force standby 
$ xset dpms force suspend 
$ xset dpms force off 
$ xset dpms force on  (also implicitly enables DPMS features)
ノート: xinitrcxset が使えない場合、/etc/X11/xorg.conf.d/ のファイルで設定を指定してください。詳しくは #X で DPMS を設定するを参照。
警告: XScreenSaverxfce4-power-manager は独自の DPMS 設定を使うため xset の設定は無視されます。詳しくは XScreenSaver#DPMS と画面オフの設定Xfce#ディスプレイを消すを見てください。

xset スクリーンセーバーコントロール

xset を使ってスクリーンセーバーをコントロールすることができます:

$ xset s [timeout [cycle]]  
$ xset s default    
$ xset s on
$ xset s blank              
$ xset s noblank    
$ xset s off
$ xset s expose             
$ xset s noexpose
$ xset s activate           
$ xset s reset

現在の設定を表示するには

$ xset q

...

Screen Saver:
  prefer blanking:  yes    allow exposures:  yes
  timeout:  600    cycle:  600
DPMS (Energy Star):
  Standby: 600    Suspend: 600    Off: 600
  DPMS is Enabled
  Monitor is On

サンプル

DPMS をオフにする

$ xset -dpms

スクリーンセーバーを無効にする

$ xset s off

DPMS を無効にして画面が消えないようにする

動画やスライドショーを見るときに便利です:

$ xset s off -dpms

直ちに画面をオフにする

コンピュータから離れるとき、ディスプレイがオフになるよう設定したタイムアウトまで待つ必要はありません。xset コマンドを使って強制的にブラックアウトさせることができます。

$ xset dpms force off

画面をスタンバイ状態にする

$ xset dpms force standby

画面をサスペンド状態にする

$ xset dpms force suspend

画面を消灯するための待機時間を5分から1時間に変更する

$ xset s 3600 3600

setterm を使って Linux コンソールで DPMS を操作する

setterm ユーティリティはターミナルが認識するエスケープコードを出してターミナルを変更します。画面に表示されていようといまいが、リモートの ssh ターミナル、コンソールモード、シリアルコンソールなど無関係に、現在のターミナルデバイスにターミナルシーケンスを書き出します。

setterm の構文: (0 disables)

setterm -blank [0-60|force|poke]
setterm -powersave [on|vsync|hsync|powerdown|off]
setterm -powerdown [0-60]
ノート: 下の DPMS に関する短い記事をまだ読んでいないのであれば、ざっと読んで、どうやって X と同じように DPMS がコンソールで使えるのか理解すると良いでしょう。

画面がオフにならないようにする

次のコマンドを使うことができます:

$ setterm -blank 0 -powerdown 0

また、次のコマンドでコンソールが黒くなるのを永続的に無効にすることができます:

# echo -ne "\033[9;0]" >> /etc/issue

出力を cat にパイプでつなげてエスケープを表示する

$ setterm -powerdown 2>&1 | exec cat -v 2>&1 | sed "s/\\^\\[/\\\\033/g"

エスケープを tty にパイプでつなげて (書込・追記パーミッション) ターミナルを変更する

$ setterm -powerdown 0 >> /dev/tty3
ノート: >> is used instead of >. For permission issues using sudo in a script or something, you can use the tee program to append the output of setterm to the tty device, which tty's let appending sometimes but not writing.

tty 0-256 を設定する Bash ループ

$ for i in {0..256}; do setterm -powerdown 0 >> /dev/tty$i; done; unset i;

参照