いま Ubuntu 20.04 で Fcitx 5.0.2 を使う方法
偉大なる囧顔(ジォン・イェン)がついに Fcitx 5 の正式版をリリースした。といってもちゃんとしたリリースノートは書いておらず、自分のメーリングリストに一通メールを流しただけなので、ほとんどの人はそんなことになっているとは知らないはずだ。
だが、それは重要じゃない!
Fcitx 5 正式版はちゃんとリリースされた。しかも一発抜くくらいの間に Fcitx 5.0.2 になっている!
高貴な Arch ユーザーはすでにシームレスに使えているが、わりと悲惨な非 Arch ユーザーにとって Fcitx 5 はなかなか辛い。自分でパッケージを作るか、傲慢なパッケージャーに頼み込むか、自分でコンパイルしてインストールするか、そのどれかだ。
しかもコンパイルしてもインストールできるとは限らない。Fcitx は QT が 5.15 以上であることを要求するが、Ubuntu 20.04.1 ユーザーの大半は QT がまだ 5.12 のままだからな!
だが偉大なる囧顔が解決策を用意してくれた。Flatpak で最新の Fcitx 5.0.2 をインストールすれば、ほぼ完璧に使えるし、本流の更新にも追随できる。
俺もこれを見て初めて知ったんだが、入力法(IME)って Flatpak でも入れられるんだな。さすがは囧顔、ヤバいわ。
ここでは Ubuntu 20.04.1 を例にする。他のディストリビューションは参考にしてほしい。
1、まずは Fcitx4/5 をインストール
Flatpak 版の Fcitx 5 はローカルの im モジュールを依然として必要とするので、まずは古いバージョンの Fcitx を入れておくことを個人的には勧める。4 でも 5 でもいい。
要はマシンに Fcitx が入っていて、ちゃんと動くことを確認できればそれでいい。
もちろんシステムが Flatpak に対応している必要もある。Ubuntu での Flatpak の使い方はここを参照: /archives/11951/
2、Flatpak 版の Fcitx 5 をインストール
# 添加 flathub 到用户级
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# 添加 fcitx5-unstable 到用户级配置
flatpak remote-add --user --if-not-exists fcitx5-unstable https://flatpak.fcitx-im.org/unstable-repo/fcitx5-unstable.flatpakrepo
flatpak install org.fcitx.Fcitx5
flatpak install org.fcitx.Fcitx5.Addon.ChineseAddons
# 例如需要 Rime: flatpak install org.fcitx.Fcitx5.Addon.Rime
# 可以用 flatpak remote-ls fcitx5-unstable 查看有哪些包
日本語入力が必要なら、これも入れればいい。
flatpak install org.fcitx.Fcitx5.Addon.mozc
ただこのリポジトリの速度はかなり遅い。最初は科学上网(VPN)の問題かと思ったが、proxychains を使ってもやっぱり遅かった……ただし未明の時間帯なら速い。
リポジトリがどうしても更新できない、あるいはダウンロードが遅すぎるというなら、提案は二つ:
- 速度の出る科学上网の方法を探す
- 未明に起き出して試す。奇跡が起きるかもしれない
3、入力法を使うための設定
インストールが終わればこの入力法が使える。今の古い Fcitx が動くことを確認した上で、起動項目をちょっと書き換えるだけでいい。

Ubuntu 20.04 なら、これを編集する。
sudo vim /usr/share/im-config/data/22_fcitx.rc
以下をコメントアウト:
/usr/bin/fcitx -d 2> /dev/null &
以下を追加:
flatpak run org.fcitx.Fcitx5 -d 2> /dev/null&
(スクリーンショットの中の文は不完全なので無視してほしい。)
PC を再起動すれば、入力法が正常に動いていることがわかるはずだ。これで最新の Fcitx 5.0.2 を使えている。
ツッコミ:
入力法を使い始めてからというもの、基本的に大きな問題はなく、ほとんどの場面で使える。ただ細かい不具合はいくつかあるので挙げておく:
- Gnome-Shell で Kimpanel プラグインを使っていると、入力法を切り替えたときに「pinyin」「mozc」などの表示枠がおかしくなることがある。もう一度切り替えれば消えるが、再現条件がまだ見つかっていない。見つけたら Bug を報告する。
- WPS では入力法を有効にできない。Flatpak 版の WPS でも deb パッケージの WPS でもダメで、起動スクリプトで QT_IM_MODULE を export してみても、fcitx でも fcitx5 でも効かなかった。古い Fcitx 4 に戻すと正常になる。調べたところ昔からある問題らしいが、ここに簡単粗雑な修正方法がある。
- flatpak 版の fcitx でも、ネット上の辞書を通常の方法で使えるようだ。
- mozc 入力法のアイコンが壊れている。
- 拼音を入力すると自動で emoji が出る機能がこちらでは動かない。flatpak 版にないのか、機能自体に問題があるのかはわからない。
- Telegram で入力法を使うと、追従する対象が最後のカーソルではなく「最後に入力し終えた文の末尾」になる。
- Gnome-shell の Kimpanel プラグインを使わなければ、いろいろなスキンが使えるが、スキン内のフォントレンダリングが汚く見えるかもしれない。その場合は /etc/fonts/ の設定ファイルを ~/.var/app/org.fcitx.Fcitx5/config/fontconfig にコピーすればいい。リンクでももちろん構わない。これでフォントレンダリングの問題は直る。

とにかく、問題があれば遠慮なく囧顔に Bug を報告してほしい。
https://github.com/fcitx/flatpak-fcitx5/
囧顔公式通稿:
https://www.csslayer.info/wordpress/fcitx-dev/fcitx5-on-flatpak/
コメントは中国語の本家サイトで受け付けています。このミラーは閲覧専用です。