スタートアップCTOによるITエンジニアのためのブログ

WSL2のUbuntuでLinux GUIアプリを使う

Windows Subsystem for Linux 2(WSL2)でLinuxに挑戦してみたいけど、ターミナル操作に不慣れなため二の足を踏んでしまう。。。といったことはないでしょうか。

実は現在のWSL2では、Windows Subsystem for Linux GUI(WSLg)という機能により、GUIアプリを使ってLinuxを直感的に操作することができます。本記事では、WSL2上のUbuntuにGUIアプリをインストールして設定する方法を解説します。また、Windowsアプリとの使い分けについても触れます。

WSLgの概要

WSLgは、WSL上でLinuxのGUIアプリをネイティブに動作させる仕組みです。起動したGUIアプリはWindowsのデスクトップ上にシームレスに表示され、他のWindowsアプリと同じ感覚で操作できます。

  • スタートメニュー連携: インストールしたアプリはWindowsのスタートメニューに自動登録されます。
  • ウィンドウ管理: Alt + Tab での切り替えや、スナップ機能がそのまま使えます。
  • タスクバー表示: Linuxアプリにはマスコットの「タックス(ペンギン)」マークが付与されます。
  • クリップボード共有: WindowsとLinux間でテキストや画像のコピペが可能です。

WSLgの仕組み

WSLgは、裏側で「System Distro」と呼ばれる専用のLinuxディストリビューションを起動しています。ここでWaylandコンポジットサーバ(Weston)が動作し、RDP(リモートデスクトッププロトコル)を介してWindows側に画面を転送しています。

かつては「VcXsrv」などのXサーバソフトを別途インストールして複雑な設定をする必要がありましたが、現在はWSLをインストールするだけで標準機能として利用可能です。

「リモートデスクトップ」として実行されているLinux GUIアプリ:

タスクマネージャ上のWSLgアプリプロセス

WSL2でLinux GUIアプリを使うメリット

最大のメリットは、「Linuxのファイルシステムや権限を維持したまま、直感的に操作できる」点です。

初心者が躓きがちな vimnano による設定ファイルの編集も、GUIのエディタを使えばミスを防げます。また、複雑なディレクトリ構造をファイルマネージャで視覚的に把握できるため、学習コストを大幅に下げることができます。

インストール前の前提条件

  • OS: Windows 11 または Windows 10 Build 19044以上
  • WSLバージョン: WSL2でUbuntuをインストール済み
  • WSLg: WSL2設定でWSLgが有効化されている

もしWSL2が未設定の場合、関連記事の「WSL2のWindows11へのインストール、起動とシャットダウン」をご参照ください。

WSLgが有効化されているかは、Windowsスタートメニューから「WSL Settings」を開き、「オプション機能」で「GUIアプリケーションを有効にする」で確認できます。

WSL Settings
WSL設定でGUIアプリーケーションを有効化

もしオフになっている場合は、オンにしてから以下のコマンドでWSLを再起動して設定を適用します。

wsl --shutdown

GUIアプリのインストールと起動方法

まずはUbuntuのパッケージレポジトリを最新の状態にします。

sudo apt update

GNOME Text Editor

初心者におすすめの、シンプルでモダンなテキストエディタです。

  • インストール: sudo apt install gnome-text-editor -y
  • 起動: ターミナルで gnome-text-editor [ファイル名] と入力するか、Windowsのスタートメニューから「Text Editor (Ubuntu)」を検索します。

WSL2から起動時のgnome-text-editor:

WSL2のgnome-text-editorをCLIで起動

Windowsスタートメニュー:

WindowsスタートメニューからWSL2のgnome-text-editor起動

Nautilusファイルマネージャ

Windowsのエクスプローラーに相当するツールです。CLIを使ってcdでディレクトリ移動したりmvでファイル移動をするのに慣れていない場合におすすめです。

  • インストール: sudo apt install nautilus -y
  • 起動: ターミナルでnautilus . と入力すると、現在のディレクトリをGUIで開きます。またはWindowsのスタートメニューから「Files (Ubuntu)」を検索します。
WindowsスタートメニューからWSL2 nautilus起動

Nautilusの画面

GUIアプリへの日本語入力の有効化

デフォルトではGUIアプリ内で日本語入力ができないため、fcitx5-mozc を導入します。

sudo apt install -y fcitx5-mozc
  • Fcitx5はLinux環境(Wayland/X11)で動作する軽量で現代的なインプットメソッドフレームワークです。fcitx5-mozcはFcitx5で日本語入力を可能にするパッケージです。

次に、~/.bashrc の末尾に以下の設定を追記して、アプリが入力メソッドを認識できるようにします。

export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx

# fcitx5が起動していなければバックグラウンドで起動
pgrep -x fcitx5 > /dev/null || fcitx5 -d --disable=wayland > /dev/null 2>&1

設定を反映させます。

source ~/.bashrc

Fcitx5を起動した状態で、設定ツールを立ち上げます(初回のみ)。

fcitx5-configtool
  1. Input Method タブを開きます。
  2. 右側のリストから Mozc を探し、中央の矢印ボタンで左側(Current Input Method)へ移動させます。
  3. Keyboard – English (US) などが一番上にある場合は、その下に Mozc が来るようにします。
  4. 「Apply」をクリック後に「Close」で終了します。
Fcitx Configuration画面

一度WSLのターミナルを閉じ、再度立ち上げてからgnome-text-terminalやnautilusなどのGUIアプリを起動してみてください。これで、Ctrl + Space(または設定したキー)で日本語入力の切り替えが可能になります。

WSL2のGUIアプリで日本語入力切替

WSL2のWindowsとLinux GUIアプリの比較

WSL2からWindowsのGUIアプリを起動する方法もありますが、システム設定ファイルやソースコードなど権限や改行形式が重要なファイル操作はLinuxのGUIアプリを使った方が安全です。

Linux GUIアプリを使う場合

(例:gnome-text-editor, nautilus, gedit など)

メリット

  • パーミッション(権限)のトラブルがない: Linuxのシステムファイル(/etc/以下など)を編集しても、所有権や実行権限が壊れません。
  • パスの互換性: Linux上のパス(/home/user/...)をそのまま扱えるため、スクリプトの実行やビルド環境との親和性が高いです。
  • 大文字・小文字の区別: Linuxはファイル名の大文字小文字を区別しますが、Linuxアプリなら正しく認識・操作できます。

デメリット

  • 日本語入力のハードル: Fcitx5などの設定が必要で、動作が不安定になることがあります。
  • 描画のオーバーヘッド: わずかですが、ネットワーク越し(Wayland/X11)に画面を転送しているため、Windowsネイティブよりは動作が重く感じることがあります。

WindowsアプリでWSLのファイルを扱う場合

(例:notepad.exe, explorer.exe . など)

メリット

  • 入力の安定性: Windows IMEが100%完璧に動作します。日本語入力で悩むことはありません。
  • 直感的な操作: 普段使い慣れたエクスプローラーで、ドラッグ&ドロップなどの操作がスムーズに行えます。
  • パフォーマンス: WSLgという仮想的な描画層を通さないため、ウィンドウの移動やリサイズが非常に滑らかです。

デメリット

  • 権限と改行コードの問題: Windowsのメモ帳などでLinuxのファイルを保存すると、パーミッションが意図せず変わることがあります。また、改行コードが LF ではなく CRLF に変わってしまいLinux上でプログラムが動かなくなることがあります。
  • パフォーマンスの低下(大量ファイル時): Windowsからネットワークドライブ(\\wsl.localhost\...)経由でアクセスする形になるため、数万個のファイルがあるフォルダなどを開くと動作が重くなります。
  • シンボリックリンクの破損: Windows側から操作すると、Linuxのシンボリックリンクがただのファイルとして壊れてしまうリスクがあります。

まとめ

WSLgの登場により、WSL2は「黒いターミナル画面」を恐れる必要のない、非常に身近な開発環境になりました。

  • WSLg で手軽にGUI環境が手に入る。
  • NautilusGNOME Text Editor で操作のハードルを下げる。
  • fcitx5-mozc で日本語入力もカバー。

まずは使い慣れたマウス操作から、Linuxの世界を一歩ずつ探検してみてはいかがでしょうか。