kledgeb UbuntuやLinuxの最新情報を紹介

Linux GUIアプリのサポートと初期プレビュー版のWSLg登場

ついに「WSL」でLinuxのGUIアプリがサポートされました。
この仕組みは「WSLg」と呼ばれ、初期プレビュー版の「WSLg」がリリースされました。


GUIアプリのサポート

今まで「WSL」はLinux環境のサポートやコマンドラインツールなどCUIアプリのサポートに焦点があてられ開発されてきました。
しかし開発者の中にはLinuxのGUIアプリを利用したい開発者もいるでしょう。
「WSL 1」が登場したのは2016年4月のことですが、例えば以下のように2016年8月にすでにGUIアプリのサポートが要望に挙げられています。


この要望から5年が経過し、そしてその途中で2019年に「WSL 2」が登場し、そしてついに「WSL 2」でLinuxのGUIアプリがサポートされました。
(とは言ってもGUIアプリのサポートは、まだ初期プレビュー版です。)

Windows Subsystem for Linux GUI

上記でも紹介したように「WSL」でLinuxのGUIアプリを動かす仕組みは、「WSLg」と呼ばれています。
「WSLg」は「Windows Subsystem for Linux GUI」の略称です。


GUI環境の統合

「WSLg」により「Windows」のGUI環境と「Linux」のGUI環境を高度に統合し、「Windows」のスタートメニューやタスクバーとの連携、「Alt + Tab」によるウィンドウの切り替え、WindowsとLinuxアプリ間のコピー&ペーストなど、優れたUXを提供します。


また「Windows」及び「Linux」向けにクロスプラットフォームでアプリを開発している開発者は、「Windows」上で「Windows」と「Linux」上で動作するアプリの開発や動作確認が可能になります。

X11とWaylandのサポート

「Linux」には「X11」と「Wayland」の2種類のディスプレイサーバーがあります。
LinuxのGUIアプリはどちらかの環境で動作しますが、「WSLg」はどちらの環境でもLinuxのGUIアプリをサポートしています。

オーディオのサポート

「WSLg」ではサウンドの入出力がサポートされており、GUIアプリからオーディオの再生やマイクを利用可能です。
例えば「Audacity」を利用して音声の録音や再生が可能です。

OpenGLのハードウェアアクセラレーション

「Windows」のGPUを利用してLinuxのGUIアプリからハードウェアアクセラレーションに対応した「OpenGL」を利用できるようになりました。
ただし「WDDMv3.0」に対応したGPUドライバーやLinuxディストリビューション側に「Mesa 21.x(d3d12 Galliumドライバー)」が必要になります。

ちなみに「Ubuntu on Windows Community Preview」は「Mesa 21.0」を提供しています。


動画で見るGUIアプリの動作状況

LinuxのGUIアプリが動作する様子は、以下の動画を参照してください。


WSLgの動作要件

「WSLg」が動作する環境です。

1.Windows 10のバーション

「Windows 10 Insider Preview build 21362」以降の「Windows 10」が必要です。
今後リリースされる一般ユーザー向けのアップデートでも「WSLg」が利用できるようになる予定です。

2.WSLのバージョン

「WSLg」は「WSL 2」でのみサポートされます。
「WSL 1」で動作しているLinuxディストリビューションは、事前に「WSL 2」で動作するように設定を変更してください。
「WSL 2」のインストール方法は、以下を参考にしてください。


Linuxディストリビューションを「WSL 2」上で動作させる方法は、以下を参考にしてください。


3.WSLのアップデート

「Windows Update」を起動して「WSL」をアップデートします。



4.OpenGLのハードウェアアクセラレーション(任意)

これは任意ですが「WSL」をサポートしているGPUドライバーを利用すれば「vGPU(仮想GPU)」を利用できるようになり、Linuxディストリビューション側で「Mesa 21.x(d3d12 Galliumドライバー)」が利用可能ならば「OpenGL」のハードウェアアクセラレーションが効くようになります。
「WSL」をサポートしているプレビュードライバーは、以下を参照してください。


Linux GUIアプリのインストール

Linux GUIアプリのインストールは各Linuxディストリビューションの作法に従います。


アプリをインストールする

例えば「Ubuntu」では以下のように各種アプリをインストール可能です。

## Update all packages in your distro
sudo apt update

## Gedit
sudo apt install gedit -y

## GIMP
sudo apt install gimp -y

## Nautilus
sudo apt install nautilus -y

## VLC
sudo apt install vlc -y

## X11 apps
sudo apt install x11-apps -y

## Google Chrome
cd /tmp
sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt install --fix-broken -y
sudo dpkg -i google-chrome-stable_current_amd64.deb

## Microsoft Teams
cd /tmp
sudo curl -L -o "./teams.deb" "https://teams.microsoft.com/downloads/desktopurl?env=production&plat=linux&arch=x64&download=true&linuxArchiveType=deb"
sudo apt install ./teams.deb -y

## Microsoft Edge Browser
sudo curl https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-dev/microsoft-edge-dev_91.0.852.0-1_amd64.deb -o /tmp/edge.deb
sudo apt install /tmp/edge.deb -y

アプリを起動する

アプリはコマンドから直接起動することもできますし、「Windows」のスタートメニューから起動することも可能です。

コマンドラインから起動する例

一般的なLinuxの作法と変わらないですね。


スタートメニューから起動

インストールしたアプリが自動的にスタートメニューに列挙され、スタートメニューからアプリを起動することも可能です。


アプリの起動例

いくつかアプリを起動してみました。


日本語入力は軽く見た限り一部の機能がうまく動作しません。



関連コンテンツ
同一カテゴリーの記事
コメント
オプション