このページの本文へ

前へ 1 2 次へ

Windows Info 第274回

WSL2でのGUIアプリケーションを動かす「WSLg」の仕組み

2021年05月09日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 Windows 10のプレビュー版で始まったWSL2でのGUIアプリケーション対応(「WSL2でのGUIアプリ対応がプレビュー版で開始 実際に動かしてみた」)。今回はプレビュービルド21376で、WSL2のGUIアプリサポート機能である「WSLg」を動かしながら調べてみたいと思う。

 なお、WSLgを動作させるにはプレビュー版のWindows 10をインストールする必要があるが、一回入れてしまうと、再インストールしない限り、通常版に戻ることはできないので注意されたい。

現在のWSLgでは、Win32側の日本語IMEが利用できず、WSL2ディストリビューション側で対応させないと日本語入力ができない

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」

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン