本記事は Fcitx5 をすでにインストールできていることを前提にした記事です。 Fcitx5 の公式 Wiki から抄訳しているだけなので、英語が読める方はこんなサイトよりも本家↓をご覧ください。
Fcitx 5 Setup (https://fcitx-im.org/wiki/Setup_Fcitx_5)
前書き
Ubuntu や Fedora など、ほとんどの日本語入力に対応しているメジャーな Linux ディストリビューションは Redhat が開発を主導している IBus をデフォルトの IMF (Input Method Framework)として採用しています。そして IME(Input Method Editor)は Google が開発している Mozc が主流で唯一改造なしで実用に耐えうる変換性能を持っています。
しかし Arch Linux においては公式リポジトリに IBus の Mozc モジュールが存在せず、 AUR のリンクが壊れてしまってビルドできないものも多いです。(キャッシュファイルを削除すればビルドできるものもありますが)その原因は Mozc のビルドツールが GYP から Bazel へ移行する期間に入っており混乱が起きているからだと思います。
筆者も例に漏れず Fcitx5 に移行することにしたのですが素の状態では Firefox や Chrome などのアプリケーションで fcitx-mozc がオーバーテイクせず、日本語入力できませんでした。 ArchWiki の説明は若干わかりにくかったので設定方法をご紹介します。
※Debian 系は im-config
、Redhat 系は im-chooser
などの GUI ツールがあるため、手打ちせずとも簡単に IMF を変更できます。
インストール
fcitx5-im パッケージ群をインストールしましょう。 fcitx5 だけインストールすると GTK 用のモジュールがインストールされないことがあります。
$ sudo pacman -S fcitx5-im
環境設定
手動で Fcitx を設定する場合、 Linux には様々なデスクトップ環境や構成があるので一概にどのファイルに記述すれば設定できるか断言できません。基本的に以下の環境変数を用いますが、設定ファイルによっては記載方法が異なります。
XMODIFIERS=@im=fcitx
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
ログイン・シェル・プロファイルを用いる
Bash をログイン・シェルとして利用している場合は ~/.bash_profile
が多くのデスクトップ環境でサポートされており、ユーザレベルで安全に設定変更ができます。TTY下でも適用されます。
$ nano .bash_profile
ログイン・シェル・プロファイルは export
コマンドで変数設定を行うため、以下のように追記します。
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
たまに ~/.profile
をシェルに依存しない設定ファイルだとして紹介されることがありますが間違っています。 GDM (GNOME Display Manager)はこのファイルを参照しますが SDDM (Simple Desktop Display Manager)や Bash は参照しないので設定が取り込まれることはありません。
グローバル設定ファイルを用いる
スーパーユーザー権限を使うことに抵抗がない人は /etc/profile
に追記する方法でも設定できます。この設定ファイルはすべてのディストリビューションでサポートされていますので最後の手段として使っても良いと思います。
自分は GNOME + Zsh という環境を使っていますがこの方法で Fcitx5 をすべてのアプリケーションで使うことができるようになりました。
.xprofile に追記する
X11 ディスプレイサーバーを使っている場合は ~/.xprofile
に先程の変数を追記することで設定変更が行えます。
しかし現在メジャーになりつつある Wayland はこのファイルを参照しないこともあるため、あまりおすすめしません。
Systemd の設定ファイルを編集する
Systemd の設定ファイルに記述して設定を読み込ませる方法もあります。
しかし GNOME や KDE のような最新のデスクトップ環境でないと対応していません。 ユーザセッションにログインしたら systemd を強制停止しない限り設定変更が反映されません。システムを再起動が推奨されています。
systemd の設定ファイルはシェル・プロファイルと構文似ていますが export
コマンドを必要としません。
$ nano ~/.config/environment.d/im.conf
下記の変数を書き込みます。
XMODIFIERS=@im=fcitx
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
KDE Plasma での設定
KDE Plasma で Fcitx5 を起動すると https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma を参照して正しく設定するよう通知されます。ということで公式HPを参考に設定していきます。
KDE Plasma は XWayland 環境下で実行されるアプリケーションには
XMODIFIERS=@im=fcitx
変数だけが推奨されているようです。GTK_IM_MODULE
や QT_IM_MODULE
をグローバル設定してしまうと複数の Fcitx プロセスが起動してしまってクラッシュしたり画面がちらついたりする可能性があるようです。
.bash_profile
に以下の変数を追記しました。
export XMODIFIERS=@im=fcitx
ただ一部の X11 アプリケーションはまだ GTK_IM_MODULE
や QT_IM_MODULE
と言ったモジュールが必要なようです。そのときのために以下のように設定しましょう。
~/.config/gtk-4.0/settings.ini
と ~/.config/gtk-3.0/settings.ini
に以下を追記します。
[Settings]
...
gtk-im-module=fcitx
仮想キーボードの設定
クイック設定 -> キーボード -> 仮想キーボード
「Fcitx 5」を選んで適用(A)ボタンをクリックします。
GNOME での設定
- KDE 同様 XWayland 環境で実行されているアプリケーションのために
XMODIFIERS=@im=fcitx
を設定します。 - Qt ランタイムアプリには
QT_IM_MODULE=fcitx
を 設定して対応します。
拡張機能
「Input Method Panel」 という KDE の Kim panel プロトコルを利用した拡張機能を GNOME Shell にインストールすることによって統一感の取れたきれいなポップアップを表示することができます。
GNOME Extensions – Input Method Panel by csslayer
余談
Fcitx5 をインストールした直後は ArchWiki をスマホに表示しつつ設定を行っていましたが、内容が煩雑かつ曖昧で分かりにくいものでした。ここで小1時間ほど無駄にしてから Fcitx の公式 Wiki を見たら欲しい情報がズバリと記載されていたのですぐに設定を行うことができました。
アプリケーションの設定に関しては ArchWiki をあまり当てにしすぎるのは良くないなと、思います。設定方法をサイト内のリンクに投げている場合も多く、具体的な設定方法やコマンド、変数がわからないことがたまにあります。
まずは公式サイトやGitHubの説明を読んでからつまずいたら ArchWiki は参考程度にするのが良いかもしれません。
Google 検索のトップにアプリケーションの公式サイトではなく、ArchWiki が来てしまうのもかなり悪い傾向で、ここがつまずきポイントになってしまうこともあると思います。
おわり
Photo by Angga Indratama on Unsplash
コメント