最初に結論
これから紹介する方法では、WSL2で動作するUbuntuデスクトップ環境を起動する方法です。通常のUbuntuデスクトップと比較すると様々な制約がありそうで、用途は限られるかもしれません。しかしながら、WSL2(WSL1含め)からGUIを表示する方法としては、非常に簡単かつ便利です。みなさまに有益なヒントが含まれていると思われるため、あえて紹介したいと思います。
前提の条件
本稿では、Windows10上でWSL2の動作環境が構築されていることを前提に、説明します。もしWSL環境の構築がまだの方は、以下の記事を参考にしてください。
MobaXtermのインストール
MobaXtermとは、Xサーバが組み込まれたターミナルエミュレータです。これにより簡単に、WSL2から起動したGUIプログラムを、Windows10の画面に表示することができます。以下からアクセスしてインストールします。
https://mobaxterm.mobatek.net/download-home-edition.html
MobaXtermからWSL2への接続
ツールバーの[Session]アイコン、あるいはメニューの[Session]>[New session]を選択します。
[WSL]アイコンをクリック。①「Distribution」を、ここでは[Ubuntu]にしました。「Default」のままでもOKです。
②「Run method」では[Localhost connection]を選択します。
WSL2に接続されました。
試しにGUIアプリを起動してみます。
$ sudo apt install x11-apps $ xeyes
Ubuntuデスクトップ環境のインストールと起動
デスクトップ環境をインストールします。
$ sudo apt install ubuntu-desktop
関連するサービスを起動します。
$ sudo service x11-common start $ sudo service dbus start
デスクトップを起動します。
$ gnome-shell --x11 -r
起動したUbuntuデスクトップ画面です。
私の環境ではWindowsキーを押すとWindowsのタスクバーが表示されました。これでUbuntuとWindowsの共存状態となります。
Ubuntuデスクトップを終了するには、MobaXtermからCtrl-Cでgnome-shellを終了する必要がありました。
UbuntuのDockを表示するには画面左上の[Activities]をクリックする必要がありました。