読者です 読者をやめる 読者になる 読者になる

日本語入力と X

Linux Ubuntu

Qt、X、SCIMLinux の日本語入力

話せば長くなるのですが、私は、Ubuntu 6.10 を使っています。そして、Opera9.02 の Shared 版を使っています。これが最初、インストールしてみると全くもって入力メソッド(モジュール?)の SCIM さんが立ち上がってこなかった。悲しい。調べると、Shared 版というのが一体何をシェアしてるのかというと、Qt というGUIライブラリということです。

そこで、元々「これでうごくよ!」というバージョンの Qt のライブラリを含んだパッケージであるところの Static 版を落としてくると、これでは無事 SCIM 立ち上がってきた。

さてここで、じっとメニューの辺りなどをみると、いくら設定で UI 周りのフォントを弄っても、フォントがギザギザのまま変わらなかったりする。ギザギザ汚い。というより悲しい。よくわからないが、Qt というのはきっと Opera と X を繋いでくれる存在であろうから、それを自分で持っちゃうというのはどうなのだろう、色々あるのかもしれない(よくわかってない)。

Shared 版では入力モジュールが立ち上がってこないだけでその他の表示は綺麗で完璧だったので、Shared 版で動かすべく色々調べた。日本語を入力するってのは、要するに SCIM くんと Opera くんが一生懸命共同作業してくれないと困るわけです。それがうまくいかない。そこの共同作業で同じライブラリを共有したりするんだけど、互いに期待するバージョンが違ってきたりするとやばいみたいとかそんな感じである。

なんとかして、実際の変換をするサーバである Anthy くんにちゃんと渡したい。入口のところでなんとかひとつ、 Opera と仲良くなってくれる相手を探すわけですね。

SCIM-Bridge

この時点で、GTK_IM_MODULEQT_IM_MODULEも)は scim でした。.Xsession なんかも無いし、一体これ、どこで設定してるのかと思ったら、im-switch というのに任せてあるんですね。/etc/X11/Xsession.d/90im-switch に発見。/etc/X11/xinit/xinput.d/ の下に色々置いてある様子。

そこで、はてなに点在する LinuxOpera をお使いの達人の皆様の日記を拝見すると…、

ここで、SCIM-Bridge さんの出番になるらしい。

書いてあることを読むと、これは中々なるほどである。というわけで、Synaptic パッケージマネージャを立ち上げて、インライン検索するといました、scim-bridge。さらに下にあった、scim-bridge-qtkimm と scim-bridge-qtimm をチェック。適用。いれた。はいった。imswitch -l してみると、

scim - priority 50
scim-immodule - priority 0
scim-bridge - priority 60

なんて言っている。おお、60ポインツ。インストール直チャンピオン、これはパッケージのインストールのときに何かやってくれているみたいですね。そして GTK_IM_MODULE(もちろんQT_IM_MODULEも)の値も無事 scim-bridge となり、おもむろに shared 版 Opera9.02 を立ち上げると、無事 SCIM が出てきました。このあたりあれなんですけど、SCIM というのはどうやら色々なレイヤーの機能をひっくるめて持っているようなので、入力モジュールを scim-bridge に変えても、その前に SCIM の上で入力モジュールとしての SCIM(SCIM-Anthy?) を使っていたときに本体の SCIM に対して設定しておいたことは残っているのだった。うーむ、できたけど、できたけど言っててわけわからんぞ!。

そもそも、VMware Player 上で使っている Ubuntu 6.06 では、GTK_IM_MODULEscim-anthy。かといって 6.10 で scim-anthy が入ってないかというと、Synaptic でばっちりインストール済み。でも 6.10 の /etc/X11/xinit/xinput.d/ の下には、scim-anthy はいない(6.06にはいる)。おお、分かってない。これはまだまだ分かってないぞ、自分。

Linux の日本語入力関連、かなり奥が深い。

ここまでが前フリ

はい、ここまでが前フリです。長かった…。で、Qt とか GTK はどんなレイヤーで働いているのか。X との関係は?。GNOME との関係は?。SCIM との関係は?!。という感じに色々知りたいことが増えてきたので、今日は「X」って、そもそも何だっけ?。というわけで調べてみる。大学の入りたて、X端末で、なんと必修で、X のプログラミングを C でやったわけですが、自慢じゃ無いが全部忘れた!。半分女の子の学校なのにそんなのが必修で、ありゃすごかった。考えようによっては、女子大生に卑猥な言葉をいわせて楽しむ会みたいな雰囲気もあった。良かった。ありゃA女E女みたいなもんだな。

いやいや、そんな思い出の話ではなくて、それで X について調べていたら Wikipedia の英語の記事がとんでもなく分かりやすかったのでメモを残します。

あー、知りたいことはたくさんですが、やる気があるのは平日の深夜0時から3時の間だけ〜。悲哀。ま、いっか。年金生活になったら暇つぶしに OS 作れるくらいになれれば良いわけです。