WSLにインストールしたUbuntu 22.04 LTSのGUIで日本語を入力できるようにした。”WSL Ubuntu 日本語入力”等のキーワードで検索すると多数のコンテンツ[1-5]がヒットするが、それぞれ紹介されている方法が異なっていた。いくつか試してみたが、そのままでは日本語入力ができるようにならず、試行錯誤した末に私の環境では以下のような方法で日本語化できた。主に”WSL2上のGUI(WSLg)で日本語入力を行う際の最低限の設定”[1]に紹介されているfcitxを利用する方法になった。
前提としてCUIの日本語表示はできているものとする。
WSLのUbuntu 22.04 LTSのターミナルの日本語表示
まず始めにインプット メソッドのパッケージをインストールする。
johndoe@ubuntu:~$ sudo apt install -y fcitx-bin fcitx-mozc dbus-x11
GUIで日本語を表示するためには日本語のフォントをインストールしなければならない。インストールできるフォントはいくつかあるようで、私は知っているものを全てインストールした。
johndoe@ubuntu:~$ sudo apt -y install fonts-noto-cjk fonts-ipafont fonts-takao
WSLの場合はホストOSのフォントを利用することができる。/etc/fonts/local.confファイルにホストOSのフォント パスを登録する。
johndoe@ubuntu:~$ cat << 'EOS' | sudo tee /etc/fonts/local.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>
EOS
ホストOSのフォントを認識したかどうか、fc-listでホストOS名を含むフォントファイルを検索し、カウントすることで確認できる。
johndoe@ubuntu:~$ fc-list | grep Windows | wc
Google ChromeやMicrosoft EdgeはホストOSのフォントを表示することができるが、FirefoxはホストOSのフォントを利用できないようである[2]。細かいことを言えばGoogle Chrome、Microsoft Edge、およびFirefoxの全てのブラウザにおいて、タイトルバーの日本語表示はホストOSのフォントは使えないようであり、日本語フォントをインストールしていないと文字化けする。
日本語入力のための環境変数とfictx-autostartの実行を.profileに登録してお。
johndoe@ubuntu:~$ cat << EOS >> ~/.profile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
fcitx-autostart &> /dev/null
EOS
キーマップをインストールし、キーマップをjp106に設定する。[6]
johndoe@ubuntu:~$ wget https://mirrors.edge.kernel.org/pub/linux/utils/kbd/kbd-2.6.4.tar.xz
johndoe@ubuntu:~$ tar Jxvf kbd-2.6.4.tar.xz
johndoe@ubuntu:~$ sudo mkdir /usr/share/keymaps
johndoe@ubuntu:~$ sudo cp -Rp kbd-2.6.4/data/keymaps/* /usr/share/keymaps/
johndoe@ubuntu:~$ sudo localectl set-keymap jp106
johndoe@ubuntu:~$ sudo localectl set-x11-keymap jp jp106 OADG109A ""
ここで必ずゲストOSを再起動する。
fictxの設定ツールを実行し、日本語キーボードのレイアウト(OADG 109A)を追加し、登録の順番を、以下のように並べ換える。
johndoe@ubuntu:~$ fcitx-configtool

またMOZCの設定を開き、キーボードレイアウトを日本語のものに変更する。

GUIアプリを起動し、テキスト入力待機状態で[Ctrl + Space]を押せば日本語が入力できる。
余談であるがfcitx5による日本語入力について紹介されているコンテンツがあり、試してみたが22.04では成功しなかった。そこで24.04で試したところ、firefox以外のアプリケーションで日本語入力ができるようになった。
- WSL2上のGUI(WSLg)で日本語入力を行う際の最低限の設定, Qiita, オンライン, 20240811参照
- Win11のWSL2 (WSLg)を日本語化 & Mozcで日本語入力, AsTechLog, オンライン, 20240812参照
- 塩田 紳二, Windows Subsystem for Linuxガイド 第24回 WSLgの日本語入力を設定する, +Digital, オンライン, 20240811参照
- 第689回 Ubuntu 21.10でFcitx 5を使用する, Ubuntu Weekly Recipe, gihyo.jp, オンライン, 20240811参照
- Ubuntu で日本語インプット・メソッドの設定, 金子邦彦研究室, オンライン, 20240811参照
- Ubuntu Serverの日本語化, Linux, 多言の備忘録, オンライン, 参照20240819
コメントを残す