Microsoftは2017年11月28日(現地時間)、Windows 10上でWSL(Windows Subsystem for Linux)を起動する複数の方法を公式ブログで解説した。WSLは当初、%APPDATA%フォルダー下に展開していたが、Microsoft Store経由の配信・展開に変更してから、%ProgramFiles%\Windows Appsフォルダーに変更したため、トリガーとなる実行ファイルを%SystemRoot%\System32フォルダーに配置している。

Microsoftが推奨するのは「wsl.exe」を実行する方法。既定のLinuxディストリビューションを起動し、現在のフォルダー(ディレクトリ)で利用可能になる。なお、既定のLinuxディストリビューションを変更するには「wslconfig.exe」を使用すればよい。

  • 「wsl」で既定のLinuxディストリビューションであるUbuntuを起動し、その後は既定設定をopenSUSEに変更している(以下、すべて画像は公式ブログより抜粋)

    「wsl」で既定のLinuxディストリビューションであるUbuntuを起動し、その後は既定設定をopenSUSEに変更している(以下、すべて画像は公式ブログより抜粋)

次の方法はLinuxディストリビューション名を指定する方法。例えばUbuntuをWindows 10に展開済みの場合、「ubuntu」と実行する。こちらは%USERPROFILE%\AppData\Local\Microsoft\WindowsAppsフォルダーに各実行ファイルを用意する仕組みだ。openSUSEの場合は「openSUSE-42」、SLES(SUSE Linux Enterprise Server)の場合は「SLES-12」と実行する。

  • Linuxディストリビューション名でも、WSL上のLinuxディストリビューションを起動できる

    Linuxディストリビューション名でも、WSL上のLinuxディストリビューションを起動できる

最後は「bash.exe」を直接実行する方法。仮にzshなど別のシェルを既定で使用する設定を施しても、bashが起動する。なお、「ubuntu(もしくはbash) -c [コマンド]」の記法を使えばコマンドプロンプト上でLinuxコマンドを使ったワンライナーも可能になる。ただし、wslはオプションを必要とせず、「wsl [コマンド]」と実行すればよい。

  • これらの方法を用いることで、コマンドプロンプト上のパイプを用いて、Linuxコマンドも実行できる

    これらの方法を用いることで、コマンドプロンプト上のパイプを用いて、Linuxコマンドも実行できる

阿久津良和(Cactus)