やじうまの杜
「WSL 2」が今後の主流に? LinuxのGUIアプリも動作可能? ~「WSL」のこれからに注目
「WSL」の有効化もコマンド一発で簡単に。GPUコンピューティングやAIも「WSL」で
2020年6月8日 06:55
“やじうまの杜”では、ニュース・レビューにこだわらない幅広い話題をお伝えします。
内容盛りだくさんの「Windows 10 May 2020 Update(バージョン 2004)」が一般公開されましたが、目玉となるのはなんといっても正式機能に昇格した「WSL 2」でしょう。軽量ユーティリティ仮想マシンをベースにアーキテクチャーが一新され、互換性とI/Oパフォーマンスが大きく改善された「WSL 2」ですが、もちろんこれがゴールではありません。今回は公式ブログ“Windows Command Line”の記事をもとに、これからの「WSL」がどうなっていくのかを見てみましょう。
「WSL」の有効化がコマンド一発で簡単に
現在、「WSL」を有効化するには[Windows の機能の有効化]ダイアログで必要なオプション機能を有効化する必要があります。
「WSL 1」の場合
[Windows Subsystem for Linux](ビルドによっては[Linux 用 Windows サブシステム]と翻訳されていることも)を有効化する。または、管理者権限の「PowerShell」で以下のコマンドを入力する。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
「WSL 2」の場合
[仮想マシン プラットフォーム]を有効化する。または、管理者権限の「PowerShell」で以下のコマンドを入力する。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
いずれにせよ面倒で、覚えにくいですよね。今後はこれが改善され、以下のコマンドだけで環境が整うようになる予定です(要管理者権限)。
wsl.exe --install
この改善は、今後数カ月以内に“Windows Insiders Program”の“Fast”リングでお披露目される予定です。
「WSL 2」がデフォルトに
“Microsoft Store”からLinux/WSLディストリビューションをインストールすると、そのディストロは「WSL 1」としてセットアップされます。「WSL 2」にするには、上記の有効化作業ののち、
wsl.exe --set-version Ubuntu 2
などとして、ディストロを「WSL 2」に変換する必要があります(これがまた、ちょっと時間を食う)。以下のコマンドでデフォルトの「WSL」を「WSL 2」にすることも可能ですが、それにしてもひと手間かかることに違いはありません。
wsl.exe --set-default-version 2
Microsoftによると“Windows Insiders Program”ユーザーの多くは「WSL 1」ではなく「WSL 2」で利用しているとのこと。であれば、「WSL 2」の方をデフォルトにする方が理にかなっているでしょう。
この変更は“wsl.exe --install”とともに、“Windows Insiders Program”の“Fast”リングでテストされる予定です。
GPUコンピューティングワークフローをサポート
「WSL 2」では「DirectX」のGPUハードウェアアクセラレーションがサポートされ、「NVIDIA CUDA」などを利用したGPUコンピューティングが可能になります。GPUコンピューティングは気象や地震のシミュレーションのような数値計算に向いており、最近では人工知能(AI)技術への応用も進んでいます。
この分野ではLinuxが先行しており、「NVIDIA CUDA」を利用したAIツールやモデル、フレームワーク、ライブラリがすでに揃っています。今後数か月以内に“Windows Insiders Program”の“Fast”リングでリリースされる最初のプレビューでは、専門家向けにこの「CUDA」ベースのワークフローをサポートするとともに、初心者や学生を対象に機械学習API「DirectML」を提供するとのこと。また、DirectML」をバックエンドに採用した「TensorFlow」のプレビューパッケージもリリースされる予定です。
高性能なゲーミングPCが、そのまま機械学習やAIモデルの開発、トレーニング、テストのための環境になっちゃうかも?
いずれはLinux GUIアプリも動作可能に
そして、少し先の話にはなるでしょうが、「WSL 2」でLinux GUIアプリを動かすこともロードマップにはあるようです。これまでも「WSL 1」に無理やり「X410」(Windowsで動作するXサーバー)を組み合わせてGUIアプリを動かすという試みはありましたが、公式にサポートされるというのですから驚きです。
- クールなLinux向けブラウン管ターミナルをWindowsで動かしてみた - やじうまの杜 - 窓の杜
- 「Windows 10」の“WSL”に特化したLinuxディストロ「WLinux」を試す - やじうまの杜 - 窓の杜
5月にオンラインで開催された年次カンファレンス“Build 2020”では、実際に画像ビューワー「Eye of GNOME」、テキストエディター「gedit」、メディアプレイヤー「mpv」といったGUIアプリを「WSL 2」から直接実行するデモがお披露目されていました。これらのLinux GUIアプリは「WSL 2」で動作する「Wayland」サーバーに接続し、Windows上のRDPクライアントと通信していたようですが、この仕組みがそのまま採用されるかは不明。詳細は今年のホリデーシーズン(年末)に明らかにされるそうです。