Windows 10 バージョン1607(Anniversary Update)からサポートしたWSL(Windows Subsystem for Linux)。その結果としてWindows 10上でもUbuntuなどのLinuxディストリビューションが動作し、各種コマンドが利用可能になった。本連載ではWSLに関する情報を紹介する。

Windows 10 バージョン1709で採用予定のカラースキームを適用

Microsoftの公式ブログによれば、2017年9月リリース予定のWindows 10 バージョン1709(Fall Creators Update)で、Windowsコンソールの配色が変化するという。下図は公式ブログに掲載された新旧の配色設定だが、Windows 10 Insider Preview ビルド16257以降は暗い文字が明るく示されている。同社は「モダンなルック&フィールの実現と、高DPIディスプレイ上の可読性を高めるため」配色の既定値を変更したという。

Windows 10 バージョン1703までの配色設定

Windows 10 バージョン1709からの配色設定

設定変更を提唱し、記事を投稿したCraig Loewen氏はMicrosoftの2017年夏期実習生だ。Loewen氏は「ブラウン管から液晶、現在の4Kとディスプレイ技術は過去20年の間で変化した。(Windowsコンソールの)既定スキームは現在のディスプレイに合わせて設計しておらず、高DPIの液晶ディスプレイでは描画されない」と変更に至った理由を述べている。もっとも同社には以前から、「青色が暗い!」というフィードバックが届いており、今回の改善はユーザーの声に応えた形だ。

だが、今回の変更は大半のWindows Insider Program参加者も気付いていない。なぜなら、新しい配色は自動適用されないからだ。筆者もビルド16257で確認したところ、同社の説明どおり青色は暗いままである。Microsoftは既存環境の破壊を避けるためと述べ、近日中に配色などの設定を行うツールを公開するという。

Windowsコンソールの設定は第51回で紹介したように、レジストリおよびショートカットファイルに格納している。今回のテーマである配色をプロパティダイアログから変更したはショートカットファイルに格納された情報を最後に読み込むため、万人向け設定を紹介するのが難しい。だからといってカラースキームを1つずつ変更するも難儀な話である。

筆者が確認した限りだが、以前のUbuntuは基本的にレジストリを使用していないものの、Windowsストア経由でインストールしたUbuntuは「HKEY_CURRENT_USER\Console\C:_Program Files_WindowsApps_CanonicalGroupLimited.UbuntuonWindows_1604.2017.711.0_x64__79rhkp1fndgsc_ubuntu.exe」キーに情報を格納している。これは前者が「%SystemRoot%\System32\bash.exe」のショートカットファイルであり、後者がAppx形式でパッケージングしているからだろう。

Windowsストア版LinuxディストリビューションはWindows 10 Insider Previewビルド16215以降が必要なため、Windows 10 バージョン1703はWindowsストア版Linuxディストリビューションを利用できない

今回はWindows 10 バージョン1703とWindows 10 Insider Previewインサイダー向けに新しい配色を設定するレジストリファイルを用意した。ただし前者はコマンドプロンプトの配色も変更してしまうため、あらかじめご了承頂きたい。後者はUbuntuコンソールのみ変更するが、キー名が異なる可能性があるため、事前に確認してほしい。

[Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して、<OK>ボタンをクリックする

レジストリエディターが起動したら\HKEY_CURRENT_USER\Consoleキーを展開して、対象となるキーを確認する。筆者のファーストリング環境では、複数のUbuntu用エントリーが存在した

該当するキーを右クリックし、<エクスポート>をクリックする

任意のファイル名をテキストボックスに入力して、<保存>ボタンをクリックする

レジストリファイルをメモ帳などで開き、キー以外の部分を削除してから、囲みの内容をコピー&ペースト。最後に保存する

"ColorTable00"=dword:0036342e
"ColorTable01"=dword:00a46534
"ColorTable02"=dword:00069a4e
"ColorTable03"=dword:009a9806
"ColorTable04"=dword:000000cc
"ColorTable05"=dword:007b5075
"ColorTable06"=dword:0000a0c4
"ColorTable07"=dword:00cfd7d3
"ColorTable08"=dword:00535755
"ColorTable09"=dword:00cd9d72
"ColorTable10"=dword:0034e28a
"ColorTable11"=dword:00e2e234
"ColorTable12"=dword:002929ef
"ColorTable13"=dword:00a8ad7f
"ColorTable14"=dword:004fe9fc
"ColorTable15"=dword:00eceeee
"ScreenColors"=dword:00000007
"PopupColors"=dword:000000f5

変更したレジストリファイルをダブルクリックし、<はい>→<OK>とボタンをクリックする

本操作を行うとWindows 10 バージョン1703は、Ubuntuを呼び出すショートカットファイルは変わらないものの、コマンドプロンプトおよびBash.exeを直接起動した場合は設定が適用される。これは、同バージョン1703以降のコマンドプロンプトがVT(ESC)シーケンスをサポートしているためだ。興味をお持ちの方はMicrosoftのドキュメントを参照してほしい。なお、設定を破棄する場合は対象キーに並ぶDWORD値「ColorTable00」から「ColorTable15」までと、「ScreenColors」「PopupColors」を削除すれば元通りになる。既に配色をレジストリベースで変更されている場合は、バックアップを作成してから取りかかることを強くお薦めしたい。

Windows 10 バージョン1703でレジストリファイルを適用。左から順にコマンドプロンプト、BUW、Bash.exe

Windows 10 Insider Preview ビルド16257上のWindowsストア版Ubuntu。今回比較するために用意した

こちらがビルド16257でレジストリファイルを適用した状態。ちなみに不透明度は90%だ

阿久津良和(Cactus)