複数ディストリビューションが利用可能になったWSL

Windows 10 バージョン1709で大きいのは、WSLの実装に伴うLinuxディストリビューションの拡充だ。当初から用意された「Ubuntu」もWindowsストア経由のパッケージ配信に切り替わり、「SLES(SUSE Linux Enterprise Server) 12」「openSUSE Leap 42」の3種類が利用可能になった。Microsoftの発表によれば、Fedoraも加わる予定だが、2017年10月上旬時点でWindowsストアには見つからない。Microsoft Azureの仮想マシンではUbuntuやSLESはあるものの、Fedoraではなく「RHLE(Red Hat Linux Enterprise)」が選択肢として並ぶ。そもそもFedoraはRHLEの実験的ディストリビューションに位置するため、フタを空けるとFedoraではなくRHLEが利用可能になるかも知れない。

左上からSUSE Linux Enterprise Server 12、openSUSE Leap 42、Ubuntu

他方でWSLはベータの文字が外れ、開発者モードを選択せずとも気軽に利用できるようになった。Windowsストアから任意のLinuxディストリビューションを展開すると、「%SystemRoot%\System32\Bash.exe(wsl.exe)」が加わり、コマンドプロンプト上でBash(もしくはwsl.exe)を起動すれば、そのままLinux環境に切り替わるなどWindows 10とLinux間をシームレスに切り替えられる。もちろん現時点でWSLのLinux実装は完全ではなく、正しく動作しないパッケージも存在するため、WSLのリリースノートを確認する限り、さらなる高みはWindows 10 バージョン1803を待たなければならない。

コマンドプロンプトからBash.exeを実行すると、そのままLinux環境に切り替わる

複数のLinuxディストリビューションを展開している場合、Bash.exe実行時に起動するLinuxがどれになるのか首を傾げる読者もおられるだろう。このあたりはWSLの管理操作を行う「wslconfig.exe」を使用する。本コマンドを使えば、Windows 10から暗示的にLinuxを呼び出した時の既定Linuxディストリビューションの選択が可能になる仕組みだ。

WSLの管理操作を行う「wslconfig」。画面の例ではUbuntuが既定Linuxディストリビューションとなる

なお、WSL上のLinuxディストリビューションはWindowsコンソールを利用することから、内部の改良を重ねており、選択可能は配色の幅を広げている。さらにWindows 10 バージョン1709を新規インストールした場合、既定の配色も変更する予定だ。この変更は既存のWindowsコンソール環境を破壊する可能性があるため、バージョンアップユーザーは「ColorTool」などを使う必要がある。コマンドプロンプトはショートカットファイルやレジストリなど各所を順番に参考してユーザー設定を適用する仕様なので、前述のツールを用意したのだろう。

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

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

ColorToolはスキームファイルを読み込み、一時的に配色を変更する。そしてプロパティダイアログを開閉すると、設定をショートカットファイルに適用する仕組みだ。あらかじめ用意しているのは、Windowsコンソールの新しい既定配色の「campbell」。campbellスキームの初期版となる「campbell-legacy」。Windows 10 Creators Updateまでの既定配色だった「cmd-legacy」。Son A. Pham氏によるvim配色の「OneHalfDark」と「OneHalfLight」。Ethan Schoonover氏によるダーク系配色の「solarizeddark」とライト系は移植の「solarizedlight」。そして、赤色および緑色が分かりにくい方向けの「deuteranopia」の8種類。執筆時点でColorToolはソースコードで配布しているものの、Visual Studio 2017 Communityをインストールし、「console-master\tools\ColorTool\build.bat」を実行すればビルドできるので、大半のバージョンアップユーザーは1度試してほしい。なお、ColorToolはINI形式と「iTerm2-Color-Schemes」ベースのitermcolors形式に対応しているので、リンク先から異なるカラースキームファイルを入手すれば、さまざまな配色をWindowsコンソールで試すことができる。

カラースキーム「campbell」を適用した状態