9/03/2015

[note] Win10のモニタOFFタイムアウト設定を無視する現象の修正方法

Windows10へのアップグレード適用以来、モニタOFFタイムアウトの設定時間を無視して画面がOFFになる症状にずっと悩まされて来ていまして。よくある初期OSリリースの不具合かもしれない、と様子を見ていたものの、一月が経過して尚改善されないのに業を煮やし、本腰を入れて対処方法を探してみたところ、何とか修正に成功したのでメモ。

もっとも本件、調査途中で覗いたフォーラムの内容を見るに、症状自体はWindows8時代にも割と広く発生して多くのユーザを悩ませていたものなんだそうで。解決方法も既に確立されており、それを適用すれば良いだけだったのでした。私の処のPCは元々Win8.1で、そのアップグレード前には幸いにも発生していなかったので知らなかったのですけれども、結局のところイライラしながらもMicrosoft公式の修正を期待した私が間抜けだったという事で、誠に遺憾な限りです。

ともあれ。発生条件は、

・USB等外付けのキーボード・マウスの操作によるスリープからの復帰

です。内臓のキーボードやタッチパッド操作から復帰した場合は関係なく、普通にモニタのタイムアウト設定が適用されます。外付けデバイス操作による復帰の場合、コントロールパネル等から設定出来るディスプレイのタイムアウトとは別にタイムアウト時間の設定項目が内部的にあるんだそうで、そのデフォルトが2分なのですね。私は当該ノートPCにキーボード・マウス・モニタを外付けしてデスクトップと同様の使い方をしていたので、自然と該当していた、というわけです。

そしてこのタイムアウト時間は、デフォルトでは電源設定等の項目中に表示されず、従って変更する事が出来ないというか設定可能な事すらユーザには分からないのですね。それでいて、前出Forumのメンバーの一人が問い合わせたところ、Microsoftの公式見解では本挙動は不具合ではなく仕様とのことなのです。思わず脱力してしまいました。ふざけんじゃねえよ、という怒りとともに。

怒りはともかく。というわけで、修正するには、まずレジストリを弄って設定項目を表示させてやる必要があるのです。といって、レジストリ中の以下の場所に以下の値を書き込むだけです。

<レジストリ追加先>

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0

<レジストリ設定項目・設定値>

"Attributes"=dword:00000002

無論regeditから手動で追加してもいいのですが、有志による追加設定用のレジストリファイルが下記に公開されていますのでこれを使えば良いでしょう(2.のAdd_System_unattended_sleep_timeout.regをダウンロードして実行)。なお下記ではvista,7,8用とされていますが、win10でもこのあたりの仕様は同じにつき、問題なく使えました。

http://www.sevenforums.com/tutorials/246364-power-options-add-system-unattended-sleep-timeout.html

すると、下図の通り、電源の詳細設定ダイアログ中、[スリープ]以下に[システム無人スリープ タイムアウト]という項目が追加表示されて変更が可能になります。


デフォルトではバッテリ駆動、電源接続時共に2分。


 これを、例えば下記のように好みの時間に変更します。


これでOK。ようやく解決なのです。分かってしまえば設定自体は簡単なのですが、そもそも設定項目自体が隠されていようとは。。。不親切なんて生易しいものではなく、完全に罠だと思うのです。それも悪質な。これが仕様だと言い張るMicrosoftは率直に言って正気ではないと思いますし、数年前から問題になっていることがわかっていながら、デフォルトで設定変更不可にしているのはどういうつもりなのか、全く以って理解出来ません。まさかwin10リリースについては項目自体社内でも把握していないとか?それにしたってねえ。何にせよこれでおしまい。やれやれです。

[関連記事 [note] Windows10の表示周りに不具合頻発]