Windows 10のプレビュー版で始まったWSL2でのGUIアプリケーション対応(「WSL2でのGUIアプリ対応がプレビュー版で開始 実際に動かしてみた」)。今回はプレビュービルド21376で、WSL2のGUIアプリサポート機能である「WSLg」を動かしながら調べてみたいと思う。
なお、WSLgを動作させるにはプレビュー版のWindows 10をインストールする必要があるが、一回入れてしまうと、再インストールしない限り、通常版に戻ることはできないので注意されたい。
Linux GUIアプリのスタートメニューへの登録
WSL2側にGUIアプリケーションをインストールすると、自動的にホスト側(Win32側)のスタートメニューにGUIアプリのアイコンが登録され、ここからGUIアプリケーションを直接起動できるようになる。
この仕組みは、Win32側に用意された「wslg.exe」がポイントだ。簡単に言えば、このプログラムはwsl.exeのGUI版のようなもの。指定されたディストリビューションのGUIアプリを起動することができる。書式は以下のようになっているようだ。
wslg.exe [~] -d ディストリビューション アプリ起動コマンドライン
wslg.exeは、指定したディストリビューションのコマンドを起動する。最初の引数は起動するGUIアプリのワーキングディレクトリを指定するもののようだが、ユーザーのホームディレクトリを表す「~」もしくは、なにも指定しない場合しか動作しない。そもそも、このコマンドはエラーだと何もしないようだ。
最初の引数を何も指定しない場合は、「/mnt/c」(Win32側のC:/に相当)になる。現状、wslg.exeでは、ユーザーのホームディレクトリか、/mnt/c以外はアプリケーションのカレントディレクトリにはできないようだ。もっとも、ほとんどのGUIアプリケーションは、ファイル指定のダイアログが開くので、ほかのディレクトリを扱うことも可能。初期ディレクトリがこれしか選べないというだけのように思われる。
「アプリ起動コマンドライン」は、起動するプログラムのコマンドラインを指定する。実際には、bashのようなGUIアプリでないものも起動できるが、コンソールウィンドウを勝手には開いてくれないので、実質GUIアプリケーション用である。
WSLgでの日本語入力はLinux側の機能を使えば可能
現時点では、Linux GUIアプリに対してはWindows側のIMEが使えないが、Linux側にディストリビューションが提供する日本語入力拡張機能をインストールすれば可能だ。ただし、ちょっと注意が必要な点もある。WSLではその構造上、ログイン時にfcitxなどの日本語入力関連プログラムを起動する必要がある。
というのもWSLには、システム起動時のinitなどのシステムサービスを起動する仕組みがないからだ(その分、高速で起動する)。そこで日本語入力関連プログラムは、各ユーザーの.profileなどから起動するのだが、wslg.exeからGUIアプリケーションを起動した場合、通常のログインプロセスにならないため、.profileが実行されず日本語入力ができない。
あらかじめwsl.exeでコンソールを開いておけば問題ないのだが、GUIアプリという点では、ちょっとマヌケな感じがしないでもない。簡易な方法としては、スタートメニューに登録されたfcitxのショートカットをスタートメニューのスタートアップフォルダーにコピーするという方法がある。WSL側でfcitxをインストールすれば、自動的にスタートメニューに登録される。これをWindowsの起動時にスタートアップフォルダーによる自動起動で起動しておけば、日本語入力ができるようになる。
なお、以前、この連載で扱ったプレビュー版に搭載された/etc/wsl.confの[boot]セクションでは、fcitxを正しく起動させることはできなかった(「WSL2の2つの設定ファイル「.wslconfig」と「wsl.conf」)

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ












