Ubuntu Weekly Recipe

第370回 Ubuntu 15.04と日本語入力

この記事を読むのに必要な時間:およそ 3.5 分

Ubuntu 15.04の日本語入力(現在は日本語以外も入力できる多言語入力なので,以後インプットメソッドと呼称)には大きな変化がありましたので,詳しく解説します。

Fcitxのmain入りとそれから

Ubuntu Weekly Topics 2月13日号で既報のとおり,FcitxがMIR(Main Inclusion Request)通過し,無事にmainに入りました。

Ubuntuの公式フレーバーで中国語向けのUbuntu Kylinでは,従来よりIBusではなくFcitxがデフォルトのインプットメソッドでした。これは(筆者も門外漢ではあるものの注1)⁠Sogou(搜狗)と言う変換エンジンがFcitxにしか対応していないという事情のようです。どうも一番変換効率が良いものらしいです注2)⁠Ubuntu Kylinは公式フレーバーであり,パッケージがmainにあるかuniverseにあるかは問題にはなりません注3)⁠しかし,Ubuntuはそうもいきません。と言うわけで,Ubuntuで可能な限り手軽にSogouを使用したい場合はFcitxをmainに入れる必要があり,かつデフォルトにする必要があると言うわけです。

注1)
中国語わかりませんし……勉強しないととは思うのですが……。
注2)
ライセンスを見る限りプロプライエタリ(multiverse/non-freeに相当し,再配布はできそうですが)なので,日本語でいうところのATOKに相当しそうです。もちろん有償無償の違いはありますが。
注3)
公式フレーバーで全てのパッケージがmainに含まれているものは,現在はありません。過去にはKubuntuがそうだった記憶もありますが,今回は本題から離れすぎているため調査しません。

紆余曲折あったものの,15.04のリリースサイクルでFcitxがデフォルトになったのは中国語(簡体字と繁体字)だけでした。日本語はタイムアップとなりました注4)⁠15.10からはその他の言語でもFcitxがデフォルトになる予定です。

注4)
主に筆者がどんくさかったのが原因ですが,味方もほとんどいませんでした。それはいつものことなので別にいいのですが。

Ubuntuでは[システム設定][テキスト入力][入力ソース]の追加と削除と変更ができます。この[入力ソース]は,IBusやFcitxでは[入力メソッド]を指しますが,要するに変換エンジンごとのブリッジです注5)⁠この[システム設定]はパッケージ名だと⁠unity-control-center⁠で,もともとは⁠gnome-control-center⁠でした。すなわち,ここで変更できるのはIBusだけだったのですが,このたびFcitxも対応するようになりました図1)⁠

注5)
SKKはこの定義には当てはまりませんが。

図1 ⁠テキスト入力]でFcitxの変更もできるようになった

図1 [テキスト入力]でFcitxの変更もできるようになった

インプットメソッドの優先順位とインストール

では,IBusとFcitx,あるいはそれ以外にもuimなどが同時にインストールされている場合,どのインプットメソッドが優先的に起動されるのでしょうか。少々横道にそれますが,詳しく解説して行きます。

そのあたりを制御しているのはim-configというパッケージです。このパッケージに含まれる/usr/share/im-config/data/以下を見てみるとたくさんのファイルがあります図2)⁠話を簡単にするために14.10に絞りますが,このフォルダーにあるファイル名には必ず数字が付いており,この数字が小さければ小さいほど優先順位が高いということになっています。すなわち,14.10ではFcitxとIBusが同時にインストールされていた場合は,Fcitxが優先して起動するということです注6)⁠

注6)
なお,これはUbuntuでのことであり,DebianではIBusが優先します。

図2 14.10の/usr/share/im-config/data/以下。15.04ではIBusがFcitxよりも優先する

$ ls /usr/share/im-config/data/
00_default.conf  21_ibus.conf    48_scim.conf    80_kinput2.conf
00_default.rc    21_ibus.rc      48_scim.rc      80_kinput2.rc
01_auto.conf     24_uim.conf     50_hangul.conf  80_xsunpinyin.conf
01_auto.rc       24_uim.rc       50_hangul.rc    80_xsunpinyin.rc
02_cjkv.conf     25_hime.conf    60_thai.conf    90_bogus.conf
02_cjkv.rc       25_hime.rc      60_thai.rc      90_bogus.rc
09_REMOVE.conf   26_gcin.conf    78_none.conf    90_custom.conf
09_REMOVE.rc     26_gcin.rc      78_none.rc      90_custom.rc
20_fcitx.conf    30_maliit.conf  79_xim.conf     90_missing.conf
20_fcitx.rc      30_maliit.rc    79_xim.rc       90_missing.rc

と言うわけで,14.10まではUbuntu KylinだけがFcitxを採用していたのでこの対応でよかったのですが注7)⁠15.04からはライブセッションの場合は,という但し書きがつくものの,UbuntuでもFcitxとIBusが同時にインストールされることになったので,全ての言語でFcitxが優先してしまう,と言うことになります。

注7)
そして日本語Remixでもこれに乗っかってFcitxをデフォルトにしていたのですが。

中国語だけはFcitxにするものの,それ以外の言語ではim-configのデフォルトに従うようにするため,15.04からは/etc/default/im-configに新しい設定項目が追加されました。

# Set locale dependent preferred IM over standard auto mode
IM_CONFIG_PREFERRED_RULE="zh_CN,fcitx:zh_TW,fcitx:zh_HK,fcitx:zh_SG,fcitx"

特に解説の必要もないほどわかりやすいですが,zh_CN/zh_TW/zh_HK/zh_SGではfcitxをデフォルトにするようにこの環境変数でオーバーライドしています。日本語でも同様にしたい場合は

IM_CONFIG_PREFERRED_RULE="zh_CN,fcitx:zh_TW,fcitx:zh_HK,fcitx:zh_SG,fcitx:ja_JP,fcitx"

とすれば良いです注8)⁠

注8)
もちろんこれはあくまでシステム全体の設定が必要な場合に限ります。

著者プロフィール

あわしろいくや

Ubuntu Japanese Teamメンバー。Ubuntu Japanese Teamではパッケージングなどを担当。ほかには日本語入力関連やOpenOffice.org日本ユーザー会コミッティも兼任。

コメント

コメントの記入