Windows Subsystem for Linux
2018年3月、Windows Subsystem for Linux (WSL)の仕組みによりWindows10で動作するLinuxディストリビューションをインストールしました。
インストールした Linuxディストリビューションの起動方法は、スタートメニューのアイコンをクリックするだけです。
WSL 複数のLinuxディストリビューション管理
複数のLinuxディストリビューションを管理するために、wslconfigコマンドがあります。DOSコマンドプロンプトから、wslconfigコマンドを実行します。
> wslconfig /? Linux 用 Windows サブシステムの管理操作を実行します 使用法: /l、/list [/all] - 登録されたディストリビューションを一覧表示します。 /all - すべてのディストリビューションを一覧表示します (オプション)。 現在インストールまたはアンインストール中のものも含まれます。 /s、/setdefault <DistributionName> - 指定のディストリビューションを既定として設定します。 /u、/unregister <DistributionName> - ディストリビューションの登録を解除します。
インストールしたディストリビューションを一覧表示します。
> wslconfig /list Windows Subsystem for Linux ディストリビューション: Ubuntu (既定) Debian
UbuntuとDebianをインストールしていることがわかります。
DOSコマンドプロンプトから、wsl.exeを実行すると既定に設定したLinuxディストリビューションが起動します。
> wsl pi@RZ82:/mnt/c/Users/pi/MyHome$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.4 LTS Release: 16.04 Codename: xenial
lsb_releaseコマンドで、ディストリビューションを確認します。確かに、Ubuntuが起動しました。
WSL Linuxディストリビューションの起動方法
wslコマンドで既定のLinuxディストリビューションが起動することがわかりました。それでは、任意のLinuxディストリビューションを直接起動するにはどうしたらよいのでしょうか?
wslconfigの一覧に表示したLinuxディストリビューションがそのまま起動コマンドになっています。
Linuxが起動したら、lsb_releaseコマンドで確認します。exitコマンドでDOSコマンドプロンプトに戻ります。
> wslconfig /list Windows Subsystem for Linux ディストリビューション: Ubuntu (既定) Debian > ubuntu pi@RZ82:/mnt/c/Users/pi/MyHome$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.4 LTS Release: 16.04 Codename: xenial pi@RZ82:/mnt/c/Users/pi/MyHome$ exit logout > debian pi@RZ82:/mnt/c/Users/pi/MyHome$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 9.4 (stretch) Release: 9.4 Codename: stretch pi@RZ82:/mnt/c/Users/pi/MyHome$ exit logout >
DOSコマンドプロンプトからubuntuやdebianコマンドラインに切り替わり、なんか不思議な感じがします。
DOSコマンドプロンプト以外にWindows PowerShellでも同じように起動できます。
PS C:\Users\pi> wslconfig /list Windows Subsystem for Linux ディストリビューション: Ubuntu (既定) Debian PS C:\Users\pi> ubuntu pi@RZ82:/mnt/c/Users/pi/MyHome$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.4 LTS Release: 16.04 Codename: xenial pi@RZ82:/mnt/c/Users/pi/MyHome$ exit logout PS C:\Users\pi> debian pi@RZ82:/mnt/c/Users/pi/MyHome$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 9.4 (stretch) Release: 9.4 Codename: stretch pi@RZ82:/mnt/c/Users/pi/MyHome$ exit logout PS C:\Users\pi> cmd Microsoft Windows [Version 10.0.16299.309] (c) 2017 Microsoft Corporation. All rights reserved. C:\Users\pi>exit PS C:\Users\pi>
- Windows PowerShellからubuntuを起動
- Windows PowerShellからdebianを起動
- Windows PowerShellからDOSを起動
startコマンドでLinux ディストリビューションを起動すると個々のターミナルが開きます。
まとめ
Windows Subsystem for Linuxにより、Windowsの上にUbuntu環境とDebian環境が共存する開発環境を構築しました。DOS(またはWindows PowerShell)コマンドラインから、UbuntuやDebianを起動することができます。