公開日: 2021年7月26日 / 最終更新日: 2023年8月4日

Fcitx と Mozc で日本語入力

FreeBSD の日本語入力環境は kinput2 & Canna や SCIM & Anthy などさまざまな変遷をたどり、現在の主流は Fcitx & Mozc のようです。という訳で、私もこのコンビを用いて urxvt、Chromium、Emacs での日本語入力を試してみました。設定作業を行う上で特に困るようなことはなかったものの、Fcitx と mozc-el (Emacs のインプットメソッド) の共存には少し注意を要したので、それについても記しておきます。

インストール

Fcitx、Mozc とそれぞれの設定ツールを packages からインストールします。
# pkg install ja-fcitx-mozc ja-mozc-server ja-mozc-tool
# pkg install zh-fcitx zh-fcitx-configtool

起動設定

X Window System が起動したときに Fcitx と Mozc も起動するように設定します。X を startx コマンドで起動する場合や、SLiM からログインした場合は ~/.xinitrc に次のように書いておきます。
~/.xinitrc
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
export LC_CTYPE=ja_JP.UTF-8

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
/usr/local/bin/mozc start
fcitx -r -d
環境によっては ~/.xprofile など別のファイルに書く必要があるかもしれません。

Fcitx の設定

Fcitx には GUI 設定ツールが用意されています (図 1)。コマンドは fcitx-config-gtk です。
% fcitx-config-gtk &
私の場合、インプットメソッドの ON/OFF は「Ctrl + Backslash」キーがなじみ深いので、 そこだけ変更します(図 2)。デフォルトでは「Ctrl + Space」が割り当てられていますが、これは Emacs のマークセットと衝突するので要注意です (このような衝突を回避するために、Emacs では XIM を無効にするのが一般的です。その方法は後述)。変更作業が終わったら、Fcitx アイコンの右クリックメニューから「再起動」を選択して変更を反映させます (図 3)。ちなみに Fcitx の設定は ~/.config/fcitx/ に収められており、このディレクトリを削除することで設定を初期化することができます。
図 1
図 1
図 2
図 2
図 3
図 3

Mozc の設定

Mozc も GUI 設定ツールが用意されています。mozc_tool コマンドを次のようにダイアログモードで起動します。
% mozc_tool --mode=config_dialog &
あとは画面を見ながら自分の好みに合わせて設定してゆけばよい訳ですが、私の場合は次の 2 点を変更しています。
  • スペースの入力を常に半角にする
  • Mozc のキーバインドを Canna 風にする
Mozc のキーバインドを Canna 風にするための設定を自力で作る必要はありません。ありがたいことに GitHub 上にて設定ファイルが公開されています。次の手順でそれを取得してインポートします。
  1. 下記 URL から keymap-emacs.txt を取得する。
  2. Mozc 設定ツールの [一般] タブにある [キー設定の選択] で「カスタム」を選択し、編集ボタンを押す (図 4)。
  3. 別のダイアログが開く (図 5)。編集ボタンから「インポート」を選択し、ファイル選択ダイアログにて keymap-emacs.txt を選択する。
図 4
図 4
図 5
図 5

urxvt や Chromium で日本語入力

まずは端末エミュレータ urxvt で試してみます。「Ctrl + Space」キーで Fcitx を起動して適当に日本語を入力してみましょう。ここで Space キーを押すと図 6 のように変換候補のボックスが表示されます。Chromium も同様です。これで日本語を含むキーワードで検索ができるようになり、私の FreeBSD 環境も心強い感じになってきました。
図 6
図 6

Emacs で日本語入力

Emacs の設定全般は別の記事に譲るとして、ここでは日本語入力の最低限の設定のみ触れておきます。Emacs では、インプットメソッドとして Fcitx ではなく mozc-el を使用するので、本体とともに ja-mozc-el をインストールしてください。
# pkg install emacs ja-mozc-el
そして ~/.emacs.d/init.el に次のように書いておきます。
~/.emacs.d/init.el
(set-language-environment "Japanese")
(setq default-input-method "japanese-mozc")
;(global-set-key (kbd "C-\\")  'toggle-input-method)
3行目は「Ctrl + Backslash」で日本語入力を ON/OFF するための設定ですが、私の環境ではこの行が無くても「Ctrl + Backslash」で ON/OFF できたのでコメントアウトしてあります。必要に応じてコメントアウトを解除してください。

Emacs では Fcitx を無効にしておこう

Emacs では Fcitx を使用しないので、無効にしておいたほうが無難です。これをやっておかないと 両者のキーバインドが衝突してろくなことになりません。
  • Emacs をコマンドプロンプトから起動する場合
    シェルの設定ファイル (~/.zshrc とか ~/.bashrc など) に次のように書いておきます。
    ~/.zshrc
    alias emacs='XMODIFIERS=@im=none emacs'
    
  • Emacs をランチャなどから起動する場合
    ~/.Xresources に次のように書いておけばよいようです。が、私の環境でこれをやるとなぜか ~/.Xmodmap の設定が無効になってしまうので、やっていません。
    ~/.Xresources
    Emacs*useXIM: false