Ubuntu18.04+WSLでfcitx-mozcを使って日本語入力出来るようにする
※本稿では日本語入力環境(fcitx-mozc)の構築についてのみ触れます。WSLの導入についてはMSの公式文書を参照してください。
インストール環境
- Windows10 1803以降がインストールされた環境
- Ubuntu18.04(ストアからインストール可能)
- VcXsrv
インストールする
sudo apt install fcitx-mozc
fcitxとmozcとX11関連のあれこれが全部一気に入るので気長に待つ。
sudo apt install fonts-noto-cjk fonts-noto-color-emoji
日本語フォントが無いと話にならないので導入する。
sudo apt install dbus-x11 sudo sh -c "dbus-uuidgen > /var/lib/dbus/machine-id"
どうやらこれでも不足しているパッケージがあるのでインストールして、machine-id
に生成したUUIDを書き込む。(これをしないとエラーになる)
fcitxの使用には環境変数の設定が必要になるので.profile
に以下の設定を書き込む。
export DISPLAY=localhost:0.0 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx export DefaultIMModule=fcitx export DISPLAY=localhost:0.0
一旦ログアウトしてWSLを立ち上げ直して(source .profile
でも良いかも)、VcXsrvを立ち上げておく。
fcitx-autostart
を実行して、エラーが出ないことを確かめる。(warningは出ますが気にしなくても大丈夫です)
※毎回起動時にfcitx-autostart
するのが面倒なので一度.profile
に書いてみましたが、Xサーバを立ち上げてない状態だと永遠にシェルが立ち上がってこなくなったのでやめました。
(fcitx-autostart > /dev/null 2&>1 &)
と書いておくと永遠に立ち上がってこないみたいな事は起こらないと思いますが、Xサーバが立ち上がってるかどうか確認してからfcitx-autostart
した方が良いかもしれないですね。
設定する
fcitx-config-gtk3
を実行して、Input Method
の画面で使っているキーボードの配列に合ったキーボードとmozc
を追加する。
Global Config
はCtrl+Space
で切り替えになっていればとりあえずは大丈夫です。
ちなみにfcitxが立ち上がってない状態(fcitx-autostart
してない状態)で設定画面を開くとInput Method
の欄が空っぽになるので注意が必要です。
試してみる
今回はテストにleafpad
を使用しました。あらかじめsudo apt install leafpad
しておいてください。
Ctrl+Space
を押して何か打ってみてfcitxのウィンドウが出てくれば成功です。