WSL Linuxディストリビューションの起動方法

WSL Linux

WSL Linux

 

Windows Subsystem for Linux

2018年3月、Windows Subsystem for Linux (WSL)の仕組みによりWindows10で動作するLinuxディストリビューションをインストールしました。

WSL : Windows で Ubuntu環境 を実行する

WSL : Windows で Debian環境 を実行する

インストールした Linuxディストリビューションの起動方法は、スタートメニューのアイコンをクリックするだけです。

WSL Ubuntu

WSL Ubuntu

WSL Debian

WSL Debian

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を起動
Linux distribution exec

Linux distribution exec

Linux distribution exec

Linux distribution exec

startコマンドでLinux ディストリビューションを起動すると個々のターミナルが開きます。

Linux distribution start

Linux distribution start

まとめ

Windows Subsystem for Linuxにより、Windowsの上にUbuntu環境とDebian環境が共存する開発環境を構築しました。DOS(またはWindows PowerShell)コマンドラインから、UbuntuやDebianを起動することができます。