今までWSLでのリモートデスクトップGUIの記事を書いてきましたが、一つ問題がありました。
それは「リモートデスクトップの画面を10分ほど放置していると画面が真っ黒になり操作を受け付けなくなる」というものでした。
この状態になると一度リモートデスクトップを終了させた後、WSLのUbuntu自体を再起動させる必要がありました。特にファイルが編集中だったりするとかなり困っていました。
今回その問題を解決する方法がわかったので記事にした次第です。
では、始めます。
1:現在の設定の確認
まずは現在の設定を確認するために以下のコマンドを実行します。
$ xset q
特に何もしていない初期設定の場合、以下のように表示されると思います。
$ xset q Keyboard Control: auto repeat: off key click percent: 0 LED mask: 00000002 XKB indicators: 00: Caps Lock: off 01: Num Lock: on 02: Scroll Lock: off 03: Shift Lock: off 04: Group 2: off 05: Mouse Keys: off auto repeat delay: 500 repeat rate: 20 auto repeating keys: 00feffffdffffbbf fedfffffffdfe5ef ffffffffffffffff ffffffffffffffff bell percent: 50 bell pitch: 400 bell duration: 100 Pointer Control: acceleration: 2/1 threshold: 4 Screen Saver: prefer blanking: yes allow exposures: yes timeout: 600 cycle: 600 Colors: default colormap: 0x20 BlackPixel: 0x0 WhitePixel: 0xffffff Font Path: /usr/share/fonts/X11/misc,/usr/share/fonts/X11/Type1,built-ins DPMS (Energy Star): Server does not have the DPMS Extension
ここで重要なのは「Screen Saver:」の項目です。「prefer blanking: yes」とあるのでスクリーンセーバーが発動すると画面がブランク、つまり真っ黒の状態になります。また「timeout: 600」とあるので600秒経過した後にスクリーンセーバーが発動することになります。
これでは困るので、次の手順でスクリーンセーバーを無効にします。
2:スクリーンセーバーを無効にする
方法は簡単で以下のコマンドをそれぞれ実行します。
$ xset s off $ xset s noblank
少し解説すると、最初のコマンドがスクリーンセーバーをオフにするコマンドで、その次のコマンドが画面をブランクにするのをオフにするコマンドです。
コマンドについての詳細は以下のページを参照してください。
コマンドを実行した後、再度設定を確認すると以下のようになっているはずです。
$ xset q Keyboard Control: auto repeat: off key click percent: 0 LED mask: 00000002 XKB indicators: 00: Caps Lock: off 01: Num Lock: on 02: Scroll Lock: off 03: Shift Lock: off 04: Group 2: off 05: Mouse Keys: off auto repeat delay: 500 repeat rate: 20 auto repeating keys: 00feffffdffffbbf fedfffffffdfe5ef ffffffffffffffff ffffffffffffffff bell percent: 50 bell pitch: 400 bell duration: 100 Pointer Control: acceleration: 2/1 threshold: 4 Screen Saver: prefer blanking: no allow exposures: yes timeout: 0 cycle: 600 Colors: default colormap: 0x20 BlackPixel: 0x0 WhitePixel: 0xffffff Font Path: /usr/share/fonts/X11/misc,/usr/share/fonts/X11/Type1,built-ins DPMS (Energy Star): Server does not have the DPMS Extension
「Screen Saver:」の項目の「prefer blanking:」が「no」、「timeout: 」が「0」になっていればOKです。
ただしこの設定は再起動すると無効になってしまうため、ログインする度に実行するようにします。
なんのエディタでも良いですが、今回はviを使って「.bashrc」ファイルを開きます。
vi ~/.bashrc
ファイルの末尾に以下の記述を追記して上書き保存します。
# black screen off xset s off xset s noblank
これでログインする度にコマンドが実行されるようになったので、放置していて画面が黒くなり操作できなくなることはなくなります。
以上がリモートデスクトップのGUIで放置していると勝手に画面が黒くなるのを解消する方法になります。
これで長時間放置していても再起動する手間がなくなるので、かなり快適になると思います。
・関連記事
- 【Windows】WSL2でUbuntuの仮想環境を構築する - ソースに絡まるエスカルゴ
- 【WSL】WSLでインストールしたUbuntuをリモートデスクトップとしてGUI化する - ソースに絡まるエスカルゴ
- 【WSL】リモートデスクトップでGUI化したUbuntuを日本語入力可能にする - ソースに絡まるエスカルゴ
- 【Ubuntu】UbuntuにVisual Studio Codeをインストールする - ソースに絡まるエスカルゴ
・参考資料