Arch (Manjaro) Linux の日本語入力環境について

単純に自分のMacが古いというのもあって何をするのも動作が重いMacに嫌気が差したので、Linuxデスクトップ環境でちゃんと開発環境を作ってみようとしてManjaroというUbuntuにとってのMintのような、デフォルトである程度気を利かせときましたというディストリビューションがあったのでこれでやってみた。

Manjaroは日本ではマイナーだと思うけどDistrowatchではほぼ常にUbuntuよりも人気のディストリビューションである。僕にとってはGentooは面倒すぎて、Archなら何でもかんでも自分でビルドするわけでもないから時間もかからないし少し慣れてるし良いんだけど労力は減らしたい→Manjaroにたどり着くという感じ。

Archの資産もそのまま使えるし、パッケージ体系ももちろん同じ。ローリング・リリースで常に新しい環境に追いつきやすい。自力でパッケージ作るのも簡単というわけで、Ubuntuとかの不満を解消してくれる感じ。個人ユースだと良さしか感じないが逆にビジネスユースだと嫌われるだろうか。

インストールしただけで使いやすい気の利いた環境になっていたが、日本語の表示はデフォルトでインストールされていたフォントで問題なかったが入力は何も用意されていなかった。

これはLANGを日本語に設定してインストールしてもそうだったのでそういうものなんだろうというわけで日本語入力環境をなんとかしてみた。

なおデスクトップ環境はXfce、変換エンジンはmozc前提である。

fcitx

Ubuntuでもデフォルトで採用されるようになったという今人気が出てきていると聞くIM。

yaourt -S fcitx-mozc fcitx-im

すれば大抵問題なく日本語が入力できるようになる。

ただArch関連パッケージのメンテナ達の歴史的事情による問題がある。Emacsユーザーはこれをまともに食らう形になる。この問題がこの記事を書かせた原因。

ain0204.hatenablog.com

パッケージを直すことも考えたがメンテナとかできないと思ったのでおとなしく引き下がる。参照記事では力技で解決されているが、僕は将来にもこれを自分でやっていくのかと思うと面倒に感じたので別の回避策を考えた。

Emacsが自力で変換エンジンを実装するという変態でなければこんなことで困らなかったのに…

ibus

少し前に次世代Linux IMとして出てきた気がするIM。今はあまり聞かないので永遠の次世代な気がしている。

fcitxのパッケージに問題があるんだから違うIMを使おうという単純な発想。

詳細は割愛するがまともに動いてくれなかったのでボツ。

uim

ずっと一番手にはなってない感じのある歴史あるIM。メンテされている歴史は長くて枯れている感がある。確かDebianのデフォルトとして採用されている。Vi協調モードとかがもしかすると聞いたことある人はいるかもしれない。

結論としてはこれに落ち着いた。

これを

yaourt -S uim-mozc-ut2

するんだけども、PKGBUILDを編集する必要がある。先頭周辺に何をビルドするかの設定がある。uimのパッケージにかかわらず_ibus_mozcだけが有効な状態になっているので、_ibus_mozcの行をコメントアウト、逆に_uim_mozc_emacs_mozcのコメントを外そう。もちろんEmacsを使わない人はいらない。

##
## Build configuration 
##
## You can choose the input method framework to use either ibus and/or uim.
## If you will not be using ibus, comment out below.
#_ibus_mozc="yes"
## If you will be using uim, uncomment below.
_uim_mozc="yes"

## If you will be using mozc.el on Emacs, uncomment below.
_emacs_mozc="yes"

こうすると結果としてはmozc-ut2 uim-mozc emacs-mozcの3つのパッケージがインストールされる。ArchWikiにはIMに関する環境変数を設定せよとも書かれているが書かなくても大丈夫である。

IMの自動起動についてはデスクトップ環境ごとのスタートアップに

uim-toolbar-gtk3 &

と書いておけばIMツールバーが起動してIMも管理できる。というかツールバーなしにはIMも使いにくいのでこうなるのが自然だと思う。

こうしておけばEmacsからもmozc.elやuim.elを通して普通に使えるし、今のところ入力できないアプリケーションがあるとかの問題もない。

これもそもそもパッケージ直しとけやって感じもするんだけど元になっているリポジトリが複数のパッケージから参照されているようで面倒くさくなってやめてしまった。あとGithub以外でのOSSへの関わり方を忘れてしまった感がある。

ちなみにフォントはIPAEx系が思ったよりも美しく見やすいのでプロポーショナルはそちら、等幅にはRictyを使っている。Noto Sans等もあり、一昔前のLinuxデスクトップ環境に比べるとフォントの選択肢も随分と増えたなあという感じ。

システムワイドなフォントの変更や色々なことが簡単にいじれるので、技術にハマるきっかけになったときのOSとかいじるのが楽しかった初心を思い出して思わず日本語環境とか以外にも色々と時間をめっちゃ使ってしまった。