inthisfucking.world

💩🌎

elementary OSでFcitxではなくIBusを使う

Linuxの環境において日本語入力をする場合、ここ最近はずっとFcitxを使っていました。GNOMEはデフォルトでIBusを採用しており、elementary OSでもIBusがデフォルトです。この記事では、elementary OSにおいてデフォルトであるIBusからMozcを使って日本語入力ができるようにする方法を記載します。

前提

この記事では、以下を前提としています:

Mozcをインストールする

elementary OS Heraは、既にIBusがインストールされているので、IBusとMozcを使って日本語を入力するために追加でインストールする必要があるのは、Mozcだけです。

$ sudo apt install ibus-mozc

上記のコマンドで、MozcとMozcをIBus経由で使用する際に必要なパッケージがインストールされます。

IBusを使用するための設定

elementary OSでは、デフォルトでIBusが使用されるようになっているはずですので、IBusを使用するための設定は必要ありません。しかし、私はFcitxを使って日本語をしていたので、意図的にIBusを使用する設定を行う必要がありました。

$ sudo im-config

im-configを実行し、表示されたGUIにおいて意図的にIBusを選択し、IBusを使用する設定に上書きをします。これでシステムレベルでIBusがデフォルトで使用されるIMとなります。

次に、/etc/default/im-configIM_CONFIG_PREFERRED_RULEを日本語に強制します。この変数には、デフォルトで中国語を意味する値しか入っていませんでした。恐らくここは触らなくても問題ないと思いますが、私は日本語を入力することはあっても中国語を入力することはないので、どこかでこの変数の値が関係することがないように日本語を意味する値のみに変更しました。

# Set locale dependent preferred IM over standard auto mode
if [ "$desktop" != 'GNOME' -a "${XDG_CURRENT_DESKTOP%%:*}" != 'GNOME-Flashback' ]; then
    IM_CONFIG_PREFERRED_RULE="ja_JP"
fi

最後に、elementary OSにログインした際にibus-daemonが自動的に起動するようにします。elementary OS Heraでは、システムの言語がCJK以外の場合はIBusが自動的に起動しないようになっているようです。私はシステムの言語を英語に設定しているので、これでは困ります。

System Settings > Applications > Startupから、ibus-daemon -drxを追加して、ログインした際に自動的にibus-daemonが起動するようにします 。

IBusに関する設定は以上です。

Mozcだけで英語と日本語の入力方法を切り替える

私がそもそもIBusではなくFctixを使っていた理由は、英語入力から日本語入力に切り替える際の面倒臭さからでした。MozcをIBus経由で使う場合、IMを切り替えることで英語入力から日本語入力に変更するような使い方をすると、日本語入力にするためにIMをMozcに切り替えた際に毎回MozcのデフォルトであるMozcの英語入力のモードになります。つまり、日本語入力をする場合、英語入力の状態からIMをMozcに切り替え、尚且つMozcを英語入力のモードから日本語入力のモードに変更する必要がありました。

IBusに機縁するのかFcitxに機縁するのかは分かりませんが、Fcitx経由でMozcを使用する場合は、Mozcの入力のモードがIMを切り替えても保たれていたので、この問題はありませんでした。Fctixを使いたくない理由もあり (今後の記事で詳細を書きます)、ここではこの問題を解決してIBus経由でMozcを使用します。

こちらの素晴らしい記事に詳しく記載がありますが、つまりはMozcだけを使用するIMとして、英語入力のモードを日本語入力のモードを切り替えることで上記の問題を解決することができます。

具体的には、例えばCtrl + SpaceでIMの切り替えをしたい場合、IBusではCtrl + Space以外でIMの切り替えをするように設定しておき、Mozcに対する設定によってCtrl + Spaceで入力のモードを切り替えるようにします。そして、MozcをIBusにおける唯一のIMにしておけば、常にMozcが使用するIMとなり、Ctrl + Spaceで英語入力のモードから日本語入力のモードに切り替えることができるようになります。

結論

ここでは、elementary OS Heraにおいて、デフォルトであるIBusを使用してMozcで日本語入力するために必要な設定を解説しました。ずっとFcitx経由でMozcを使っていましたが、特に問題もなく使えています。

皆さんも是非IBus経由でMozcを使ってください。