既存のWSLでGUIアプリを起動する方法

目次

概要

WindowsのWindows Subsystem LinuxでGUIのアプリケーション、ソフトウェアを起動することが可能になりました。

ここでは、WSLでGUIのアプリケーション、ソフトウェアを起動する方法を紹介します。

環境

  • Windows 11 21H2
  • WSL バージョン 0.51.2.0
  • WSLg バージョン 1.0.30

WSLの注意点

GUIアプリを起動できるのは、Windows Subystem Linux(WSL)のバージョン2からです。さらにバージョンが2であっても、WindowsにインストールしているWSLのバージョンが古いとうまくいきません。

基本的に最新のWindowsのバージョンやWSLを利用していれば問題はないはずです。

WSLのバージョンの確認とアップデート

WSLのバージョン2以降でなければ、使うことができないため、最初に動かしているLinuxがどのバージョンで動いているのか確認しておきます。

バージョンの確認には、次のコマンドを実行します。

wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-20.04           Running         2
  docker-desktop         Running         2
  docker-desktop-data    Running         2

このようにVERSIONのところが2となっていれば大丈夫です。

もし異なる場合は、次のコマンドを実行してバージョンを上げます。

wsl --set-version Ubuntu-20.04 2

Ubuntu-20.04のところは、バージョンを変えたいものになわせて適当な名前に変更して実行してください。

GUI用のパッケージをインストール

WSLの準備ができれば、あとはLinuxにGUI用のパッケージをインストールするだけです。

インストールは、GUIアプリを起動するWSLのターミナル上で行います。

Ubuntuなどのaptを使う場合は次のように実行します。

sudo apt install x11-apps

インストールするものがたくさんあるため、少し時間がかかりますが、インストールが終われば、GUIアプリを起動することができるようになります。

起動

GUIアプリを起動する方法は2種類あります。

Linuxから起動

ひとつめは、Linux上から起動する方法です。起動方法はとても単純で、ターミナル上からアプリケーションを起動するだけです。

例えば、Firefoxを起動する場合は次のようにします。

# Firefoxをインストールする必要があります
sudo apt install firefox
# 起動
firefox &

起動には少し時間がかかりますが、起動後はすぐにいつも通りに利用することが可能です。

アプリケーションのコマンドなど、起動方法を知る必要がありますが、このような流れで起動することができます。

Windowsから起動

もうひとつ、WindowsのPowerShellなどから起動する方法があります。

こちらも起動方法は単純で、wslgコマンドを利用して、起動するWSLの環境を選択し、起動するアプリのコマンドを入力という流れになります。

wslg -d Ubuntu-20.04 firefox &

Ubuntu-20.04というところは、環境に合わせて変更してください。

このようにすることでWindows上からも起動可能です。

さいごに

とても簡単にWSLでGUIのアプリケーションを起動することができました。

こんなに簡単であるならば、既存の仮想化ソフトは廃れてしまいそうです。

今回は、日本語入力などについて説明しませんでした。実はこのままでは日本語を表示できなかったり入力できなかったりします。

こちらのサイトに、シェルスクリプトなどを用いて日本語入力に対応する方法が記述されていますので、参考にするとうまくいくはずです。

Win11のWSL2 (WSLg)を日本語化 & Mozcで日本語入力 | AsTechLog

私はこちらで紹介されているシェルスクリプトを実行してうまくいきました。

この記事がWSL利用の役に立てば嬉しいです。