Linuxを日常的に使う実験ブログ

Vanilla OSにFlatpakのFcitx5-mozcで日本語入力環境を整える

 2025-01-19

 Vanilla OS

今回はVanilla OSにfcitx5 + fcitx5-mozcで日本語環境を構築するための記事を書きたいと思います。Vanilla OSはホストシステムを改変できない堅牢と使い勝手を両立させることを目指したディストリビューションですが、fcitx5-mozcを用いた日本語環境の構築には試行錯誤が必要でしたので、記事化しました。

Vanilla OSとは

Vanilla OSはユーザーやアプリケーションが動作中のホストシステムを変更できないように固定してあるイミュータブルディストロの一つです。また、システムの更新がアトミックに行なわれるため、不安定になりにくく堅牢であるという特徴があります。一方でルートシステムが不変ということはアプリケーションのユーザーが設定を書き変えてカスタマイズするなどの柔軟性に欠けているので、これを解消する仕組みとして仮想環境やユニバーサルパッケージマネージャーであるflatpakを利用してシステムとして成立させています。ユーザーは仮想環境の中でアプリケーションのインストールや設定を行ない、それがホストシステムに反映される仕組みになっています。仮想環境としてはシステムが標準で準備しているVSO(Vanilla System Oparator)の他、UbuntuやFedora, OpenSUSEなどの他のディストリビューションも使用可能です。

ホストシステムを変更できないという点から日本語入力などの設定は他のディストリビューションの方法の流用が難しい点もあります。例えばVanilla OSの標準ターミナルであるBlack Boxを開くとVSOという仮想環境に入りますが、この環境内でfcitx5を導入してもホストシステムからは利用できません。日本語入力をしたいユーザーは頭を抱えてしまうケースもあるようです。今回は非常に簡単にVanilla OSに日本語環境を構築してみます。

Flatpakを使用する理由

Vanilla OSの公式リポジトリにはABRootを利用して導入できるfcitx5もfcitx5-mozcも存在します。それにも関わらずflatpakを選択した理由は二つです。一つ目はflatpakの手軽さが魅力的だということです。ホストシステムに影響を与えることなくパッケージをインストールできるためVanilla OSとflatpakは非常に相性が良いです。二つ目は2025年1月時点では公式パッケージのMozcがエラーを起してしまい入力ができないトラブルを抱えています。このトラブルはfcitx5だけでなくibusでも同様でした。このためMozcを入力エンジンとして入力するためにはflatpakを採用するのが適当と判断しました。

Fcitx5とfcitx5-mozcのインストール

まずはfcitx5とfcitx5-mozcをインストールしましょう。Black Boxを開き以下のコマンドでインストールをします。

flatpak install org.fctix.Fcitx5 org.fcitx.Fcitx5.Addon.Mozc

もしコマンド入力でインストールすることに抵抗がある方はGnome Software centerからGUIでインストールしてもOKです。

Fcitx5の自動起動設定

システムの起動の度にfcitx5を手動で起動するのは面倒なので自動起動するように設定しましょう。以下のコマンドでfcitx5のデスクトップファイルを~/.config/autostartにコピーします。

cp ~/.local/share/flatpak/exports/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart

コピーが完了したらログアウトして再ログインします。

日本語入力の切り替え

ログインすると自動でfcitx5が使用可能な状態になっているはずです。Ctrl + Spaceで入力を切り替えましょう。日本語入力ができるようになっていると思います。

fcitx5-mozc input

おわりに

今回はfcitx5-mozcで日本語入力環境を構築するにあたり、簡単かつコアシステムに影響を与えない方法としてflatpakによるインストールを選択しました。Vanilla OSに限らず、flatpakによるfcitx5の導入は覚えておくと他のディストリビューションでも応用が利くと思います。日本語入力環境が整えられればVanilla OSを使ってみようという日本のユーザーも増えるかも知れません。この記事がお役に立てば幸いです。