IBus MozcとFcitx Mozcの開発状況
インプットメソッドをIBusからFcitxに切り替えることにした。GNOMEと相性がいいことからIBusを使い続けてきたが、MozcのFcitx版(fcitx-mozc)がArch Linuxの公式リポジトリに登録されて久しいことや、以前の記事にも書いたが、ibus-mozcがそのうち廃止になるっぽいこと [1] 、Ubuntu 15.10でもデフォルトのIMがFcitxに切り替わったこと [2] 、とかを考えると、そろそろFcitxに切り替えようという気になった。こんな状況になっては、IBusを使っているのが悪あがきに思えてきた。以前、Fcitxを使ってみたことはあるが、結局IBusにもどしてしまった。今回は、もうIBusに戻さないことに決めて、IBusとibus-mozcのアンインストール、及びFcitxとfcitx-mozcのインストールと初期設定を行ったので、その方法を記事にしておく。環境は、GNOME 3.18.2, jp 106(日本語キーボード)。
記事の最後に、ディスプレイサーバーとしてWaylandを使った環境下でFcitx Mozcを使う際の注意点を書いた。Waylandを使っている人は最後まで確認してほしい。
IBusの削除
IBusと関連パッケージのアンインストール
pacmanからIBusとIBusの関連パッケージをすべてアンインストールする。libibusはgnome-control-centerによって必要とされているため、削除できない。GNOME環境でなければ、libibusもアンインストールしていいと思う。# pacman -Rsn ibus ninja zinnia ibus-mozc mozc checking dependencies... :: avahi optionally requires python2-dbus: avahi-discover Packages (6) python2-dbus-1.2.0-5 ibus-1.5.12-1 ibus-mozc-2.17.2313.102-1 mozc-2.17.2313.102-1 ninja-1.6.0-2 zinnia-0.06-4 Total Removed Size: 37.56 MiB :: Do you want to remove these packages? [Y/n] y :: Processing package changes... (1/6) removing ibus-mozc [#####################################] 100% (2/6) removing mozc [#####################################] 100% (3/6) removing zinnia [#####################################] 100% (4/6) removing ninja [#####################################] 100% (5/6) removing ibus [#####################################] 100% (6/6) removing python2-dbus
IBus関連の設定の削除
IBus関連の設定を削除しておく。dconfエディターから、desktop -> ibus -> generalでpreload-enginesとversionの値を削除する。org -> gnome -> desktop -> input-sourcesでsourcesの値を削除する。以上の設定で、インプットメソッドの設定が削除される。GNOMEの「設定」→「地域と言語」から、以下のように「入力ソース」が空欄になっていることで確認できる。
Arch WikiのFcitxのページによると、
GNOME はありとあらゆるインプットメソッドを破壊しようとするため、Fcitx を使うために、gnome-control-center から全ての入力ソースとインプットメソッドのホットキーを削除してから次のコマンドを実行して iBus との統合を無効にする必要があります:とのことなので、入力ソースを削除できたら、以下のコマンドによってIBusとの統合を無効にする。
$ gsettings set org.gnome.settings-daemon.plugins.keyboard active false
Fcitxのインストールと設定
Fcitxのインストール
Fcitx関連のパッケージをインストールする。GNOMEならfcitx-imはfcitx-gtk3だけで良い気がするが、一応すべてインストールしておく。# pacman -S fcitx fcitx-mozc fcitx-configtool fcitx-im :: There are 5 members in group fcitx-im: :: Repository community 1) fcitx 2) fcitx-gtk2 3) fcitx-gtk3 4) fcitx-qt4 5) fcitx-qt5 Enter a selection (default=all): warning: skipping target: fcitx resolving dependencies... looking for conflicting packages... Packages (13) qt5-base-5.5.1-9 qtchooser-53-2 xcb-util-image-0.4.0-1 xcb-util-wm-0.4.1-1 zinnia-0.06-4 fcitx-4.2.9.1-1 fcitx-configtool-0.4.8-1 fcitx-gtk2-4.2.9.1-1 fcitx-gtk3-4.2.9.1-1 fcitx-mozc-2.17.2313.102-1 fcitx-qt4-4.2.9.1-1 fcitx-qt5-1.0.5-1 fcitx-ui-light-0.1.3-3 Total Download Size: 33.81 MiB Total Installed Size: 119.80 MiB :: Proceed with installation? [Y/n] y :: Retrieving packages ... xcb-util-wm-0.4.1-1-x86_64 30.5 KiB 1017K/s 00:00 [#####################################] 100% xcb-util-image-0.4.0-1-x86_64 15.9 KiB 5.19M/s 00:00 [#####################################] 100% qtchooser-53-2-x86_64 18.2 KiB 0.00B/s 00:00 [#####################################] 100% qt5-base-5.5.1-9-x86_64 11.2 MiB 6.22M/s 00:02 [#####################################] 100% fcitx-4.2.9.1-1-x86_64 7.0 MiB 6.28M/s 00:01 [#####################################] 100% fcitx-mozc-2.17.2313.102-1-x86_64 15.3 MiB 5.62M/s 00:03 [#####################################] 100% fcitx-ui-light-0.1.3-3-x86_64 27.0 KiB 8.80M/s 00:00 [#####################################] 100% fcitx-configtool-0.4.8-1-x86_64 35.1 KiB 11.4M/s 00:00 [#####################################] 100% fcitx-gtk2-4.2.9.1-1-x86_64 11.4 KiB 0.00B/s 00:00 [#####################################] 100% fcitx-gtk3-4.2.9.1-1-x86_64 12.0 KiB 0.00B/s 00:00 [#####################################] 100% fcitx-qt4-4.2.9.1-1-x86_64 124.4 KiB 7.14M/s 00:00 [#####################################] 100% fcitx-qt5-1.0.5-1-x86_64 94.6 KiB 6.60M/s 00:00 [#####################################] 100% (13/13) checking keys in keyring [#####################################] 100% (13/13) checking package integrity [#####################################] 100% (13/13) loading package files [#####################################] 100% (13/13) checking for file conflicts [#####################################] 100% (13/13) checking available disk space [#####################################] 100% :: Processing package changes... ( 1/13) installing fcitx [#####################################] 100% You should at least install one of kcm-fcitx (For Qt/KDE users) or fcitx-configtool (For GTK+ users) to enable Fcitx configuration GUI. Optional dependencies for fcitx enchant: for word predication support [installed] opencc: optional engine to do chinese convert gettext: for fcitx-po-parser [installed] ( 2/13) installing zinnia [#####################################] 100% ( 3/13) installing fcitx-mozc [#####################################] 100% ( 4/13) installing fcitx-ui-light [#####################################] 100% ( 5/13) installing fcitx-configtool [#####################################] 100% Optional dependencies for fcitx-configtool fcitx-qt4: for some configuration windows [pending] ( 6/13) installing fcitx-gtk2 [#####################################] 100% ( 7/13) installing fcitx-gtk3 [#####################################] 100% ( 8/13) installing fcitx-qt4 [#####################################] 100% ( 9/13) installing xcb-util-wm [#####################################] 100% (10/13) installing xcb-util-image [#####################################] 100% (11/13) installing qtchooser [#####################################] 100% (12/13) installing qt5-base [#####################################] 100% Optional dependencies for qt5-base qt5-svg: to use SVG icon themes postgresql-libs: PostgreSQL driver [installed] libmariadbclient: MariaDB driver [installed] unixodbc: ODBC driver libfbclient: Firebird/iBase driver mtdev: evdev plugin [installed] gtk2: GTK2 plugin [installed] (13/13) installing fcitx-qt5
~/.xprofileを作成し、IMの設定を書く。~/.bashrcに書くのは良くないとのこと。
$ vim ~/.xprofile export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx export DefaultIMModule=fcitx
再起動すると、Fcitxが有効になる。
Fcitxの設定
続いて、Fcitxの設定をする。アクティビティから「Fcitx 設定」を起動する。インストール直後、入力メソッドのタブは以下のようになっており、キーボードレイアウトがUSになってしまう。まず、「キーボード - 英語 (US)」を「-」で削除する。さらに、「+」をクリックすると以下のように、キーボードレイアウトを選ぶ画面が出てくるので、「キーボード - 日本語」を選択「OK」をクリックして、日本語のキーボードレイアウトを追加する。
さらに、「^」で「キーボード - 日本語」の項目を一番上に持ってくる。
次に、「Fcitx 設定」の外観のタブから「状態パネルを隠すモード」の項目を「表示」に変更する。こうすることで所謂、「言語バー」が常に表示されるようになる。
ここまでの設定で、FirefoxなどではFcitxが機能するものの、GNOME TerminalなどのGNOME系のアプリケーションでは、Fcitxが機能しなかった。以下のように、dconfの設定を変更することで、GNOME系のアプリケーションでもFcitxが機能するようになる。
$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
ここまでで、基本的な設定は終わり。
Fcitxのカスタマイズ
さらに、Fcitxをカスタマイズする。まず、スキンをdarkに変更する。画面左下のLegacy Trayのアイコンを右クリックして、「スキン」から「dark」を選択する。darkのスキンを選ぶことで、言語バーや変換候補の表示ウィンドウのバックグラウンドが黒色に変わる。
さらに、トップバーにFcitxを統合したい場合は、GNOME Shellの拡張機能のTopIconsをインストールする。TopIcons - GNOME Shell Extensionsからインストールできる。ページ左上のOFFボタンをクリックしてONボタンに変えると、自動でインストール、適用される。それなりに、メンテナンスされていてちゃんと動く拡張機能らしい。GNOMEのバージョンアップで、動かなくなる時が来るんじゃないかと心配ではあるが。
TopIconsがインストールされると、トップバーのトレイににFcitxのアイコンが表示されるようになる。日本語入力モードのときは、Mozcのアイコンが表示される。
入力モードを、日本語と直接入力間で切り替えると、Mozcのアイコンがついたり消えたりするので、トレイから現在の入力モードを確認することができる。したがって、「Fcitx 設定」から、状態パネルを隠すモードを「トレイアイコンが有効なときに隠す」に設定し、言語バーの表示を消しておく。
GNOMEのトップバーへの統合の際、GNOME Shell Extensionに頼らないといけないのは、Unityで採用されているAppIndicatorの機能を、GNOME Shellがサポートしていないことが原因らしい。そのような状況から、KStatusNotifierItem/AppIndicator Support - GNOME Shell Extensionsのような拡張機能も開発されているらしい。
ディスプレイサーバーがWaylandの時の注意点
ディスプレイサーバーとしてWaylandを使う場合は、別途設定が必要となる。設定すべき内容は、「WaylandでFcitxを使う」のページにまとめたので、参考にして下さい。ディスプレイサーバーとしてXorgを使っている場合は、設定の必要はありません。参考:
[1] Deprecation of the iBus client code. #287
[2] 第395回 Ubuntu 15.10の日本語入力:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
[3] 第370回 Ubuntu 15.04と日本語入力:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
[4] 第381回 インプットメソッドの便利な機能:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
[5] Fcitx - ArchWiki
スポンサーリンク
Just to let you know there's also https://github.com/wengxt/kimpanel-for-gnome-shell/
返信削除Thank you for your comment!
削除I'll try it if there is a trouble with the GNOME shell extension tool, which sometimes happens.
The good thing is that the kimpanel package can be installed from AUR (aur/gnome-shell-extension-kimpanel-git)!
this is informative
返信削除I'm glad to hear that, even though this blog is in Japanese. : )
削除