ニュース

Linux GUIアプリがWindowsで動作 ~Microsoft、新しいWSL 2機能「WSLg」を初期プレビュー

Dev版Windows 10 Build 21364以降で利用可能

Windows上で直接Linux GUIアプリが動作する様子

 米Microsoftは4月21日(現地時間)、「Windows 10 Insider Preview」Build 21364(CO_RELEASE)を公開した。このビルドでは、「Windows Subsystem for Linux 2」(WSL 2)を使ってLinuxのGUIアプリケーションを直接Windows上で実行する機能が初めてサポートされた。同社は昨年の“Build 2020”で、Linuxアプリを「WSL 2」で実行できるようにするという目標を掲げていたが、それがようやく果たされた格好だ。

 この機能はオープンソースで、「WSLg」というニックネームが付けられている。従来の「WSL 2」はコマンドラインユーティリティの実行に重点が置かれていたが、「WSLg」でGUIアプリがサポートされれば、その用途は大きく広がることになる。お気に入りのLinux GUIアプリをWindowsで利用するのはもちろん、わざわざLinuxで開発環境を整えなくても、使い慣れたWindows環境でLinuxアプリのビルド・テスト・デバッグが行えるようになるだろう。オーディオとマイクもサポートされているので、Linuxで動作している「Audacity」でオーディオを録音し再生することさえ可能。WSLのGPUアクセスを活用して、Linuxアプリケーションを3Dアクセラレーションで実行することもできる。

Linuxで動作している「Audacity」でオーディオを録音し再生

 Linux GUIアプリをWindowsで実行するにあたり、ユーザーがわざわざXサーバーを用意する必要はない。「WSLg」は「Wayland」、Xサーバー、パルスオーディオサーバーなど、Linux GUIアプリがWindowsと通信するためのコンポーネントをすべてそろえた特殊なディストリビューション(社内でクラウドな製品に用いられてきた「CBL-Mariner」というディストリビューションだという)で、WSLで動作するLinuxディストリビューション(「Ubuntu」など)とは別に管理されている。Microsoftは前者をシステムディストロ、後者をユーザーディストロと呼んでいるが、「WSLg」システムディストロはユーザーディストロでGUIアプリが起動されると自動で読み込まれる。GUIアプリを終了し、ユーザーディストロがシャットダウンされると、不要になったシステムディストロのセッションも自動で終了する。ユーザーは「WSLg」の存在を意識することなく、シームレスにLinuxのGUIアプリを利用できるわけだ。

「WSL 2」でGUI Linuxアプリを実行する仕組みのアーキテクチャー。ユーザーディストロとWindowsの媒介は、「WSLg」システムディストロがシームレスに行う

 この機能は初期プレビューとしてロールアウトされるが、利用するにはWindows 10(Dev)Build 21364以降が必要となる。WSLがすでにインストールされている場合は、“wsl --update”でWSLをアップデートするだけでGUIのLinuxアプリを利用できる。WSLが無効な場合は、“wsl --install”でWSLをセットアップする際に自動で「WSLg」が自動でインストールされる。