こんにちは、阿久津です。筆者の作業環境はデスクトップ型コンピュータ二台、ノート型コンピュータ一台を併用。以前の連載記事でも触れたように一方のデスクトップマシンは、地デジ録画や仮想マシン上で簡易サーバーを走らせるといった役割を担わせるために設置したため、仕事用に用いている訳ではありません。
それでも、各サービスはバックグラウンドで動作しているため、デスクトップ領域は空いたまま。そこで日中はリアルタイム更新が必要な為替や株価、ニュースティッカーなどを表示させ、情報収集に勤しんでいます。そこで困るのがディスプレイの電源管理。
撮り溜めた動画を再生している間は、ソフトウェア側の機能でディスプレイのパワーマネージメント機能が抑制されるため、何ら困ることはありません。しかし前述のようにWebブラウザベースのアプリケーションが動作している場合、あらかじめ設定したパワーマネージメントタイミングでディスプレイがスリープ状態になるため、掲示板的役割として活用することができないのです。
もちろん電源オプションダイアログなどから、「次の時間が経過後ディスプレイの電源を切る」でタイミングを調整すれば済む話ですが、そうなると終業後も煌々とディスプレイがつくことになってしまうため、無駄の極み以外何物でもありません。
そこで、今回は時間帯によってディスプレイのパワーマネージメント設定を変更するチューニングをお届けします。
1.囲み01~02の内容をバッチファイルとして作成します。
2.管理者権限でタスクスケジューラを起動します。
3.囲み01のバッチファイルを実行するタスクを作成します。
4.囲み02のバッチファイルを実行するタスクを作成します。
これでチューニングが終了しました(図01~21)。
囲み01
「day_mode.bat」
@echo off
setlocal
set CMD=powercfg.exe
set P1=-monitor-timeout-ac
set P2=-monitor-timeout-dc
set NUM=300
echo %CMD% -x %P1% %NUM%
echo %CMD% -x %P2% %NUM%
endlocal
囲み02
「night_mode.bat」
@echo off
setlocal
set CMD=powercfg.exe
set P1=-monitor-timeout-ac
set P2=-monitor-timeout-dc
set NUM=5
echo %CMD% -x %P1% %NUM%
echo %CMD% -x %P2% %NUM%
endlocal
早速結果を確認しましょう。先の手順ではタスクスケジューラを終了させていませんので、そのまま今作成したタスクを右クリックし、メニューにある<実行する>をクリックしてください。この操作でタスクからバッチファイルが呼び出されました(図22)。
今度はコマンドやコントロールパネル経由で電源オプションダイアログを起動し、「次の時間が経過後ディスプレイの電源を切る」の設定値を確認してみましょう。囲み01のバッチファイルを呼び出すタスクを実行した場合は「300分」に、囲み02のバッチファイルを呼び出すタスクを実行した場合は「5分」に変更されます(図23~26)。
図23: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「Rundll32.exe Shell32.dll,Control_RunDLL powercfg.cpl,,1」と入力して<OK>ボタンをクリックします |
図25: こちらはタスク実行後の状態。同箇所の設定値が300分(五時間)に変更されています |
図26: こちらは図16~21で作成したタスクを実行してから、図23の手順で電源オプションダイアログを起動しますと、どうか書の設定値が5分に変更されていることを確認できます |
この時間は筆者の作業スタイルに沿った数値です。お好みの応じてバッチファイル内の環境変数「NUM」の値を変更してください。なお、本来は一つのバッチファイルで処理しようと思っていましたが、バッチファイルだけでの曜日取得は難しく、条件分岐も難しいため、タスクスケジューラの機能を用いて複数のバッチファイルを呼び出す形式にしました。ご了承ください。
それでは、また次号でお会いしましょう。
阿久津良和(Cactus)