ニュース
「WSL 2」最大の課題であった“localhost”問題が解決 ~「Windows 10」Build 18945
すべてのWSLディストロに共通のグローバル設定、カスタムLinuxカーネルの利用にも対応
2019年7月29日 09:00
米Microsoftは7月26日(現地時間)、「Windows 10 Insiders Preview」Build 18945で実施した「Windows Subsystem for Linux(WSL)」の改善を、公式ブログ“Windows Command Line Tools For Developers”で発表した。
まず、「WSL 2」最大の課題であった“localhost”の問題が解決された。初期バージョンの「WSL 2」はホストと異なるIPアドレスを持っており、Windows 10からLinuxのネットワークアプリへアクセスする場合に“localhost”ではなく、IPアドレスを指定する必要があった(参考記事)。最新版ではこの問題が解決され、「WSL 2」へのアクセスは“localhost”に転送されるようになっており(localhost forwarding)、Webアプリなどの開発が以前よりも格段に容易となっている。
次に、「WSL」でグローバル構成がサポートされた。「Windows 10 Insider Preview」Build 17093以降、「WSL」では“wsl.conf”で各WSLディストリビューションの設定を指定することができるが、すべてのWSLディストリビューションに共通の設定を記述する方法は用意されていなかった。最新版の「WSL」では、“C:Users(ユーザー名)”フォルダー直下に“.wslconfig”ファイル(INIファイル形式)を配置することで、WSLディストリビューションのグローバルな設定が可能となった。
最後に、「WSL 2」でカスタムカーネルが利用できるようになった。「WSL 2」は標準でWindows 10に同梱されているLinuxカーネルを用いるが、場合によっては特定のモジュールをあらかじめ組み込んだカーネルを利用したいといったケースもあるかもしれない。その場合は、“.wslconfig”ファイルの“kernel”オプションにカスタムカーネルのパスを記述するとよい。
“.wslconfig”ファイルの書式
[wsl2]
kernel= # An absolute Windows path to a custom Linux kernel.
memory= # How much memory to assign to the WSL2 VM.
processors= # How many processors to assign to the WSL2 VM.
swap= # How much swap space to add to the WSL2 VM. 0 for no swap file.
swapFile= # An absolute Windows path to the swap vhd.
localhostForwarding= # Boolean specifying if ports bound to wildcard or localhost in the WSL2 VM should be connectable from the host via localhost:port (default true).
# entries must be absolute Windows paths with escaped backslashes, for example C:\\Users\\Ben\\kernel
# entries must be size followed by unit, for example 8GB or 512MB