2008-08-28

uim-anthy導入(解決編)

大学のRed Hat Enterprise Linux 5 (RHEL5) のX上で日本語入力が出来ない件だが、先月無事解決したので、やり方を一応メモしておく。anthyを入れるのは簡単なので省略。uimのソースを取ってきて適当な所に展開し、configureスクリプトを走らせる。

$ mkdir ~/src
$ cd ~/src
$ tar xvzf uim-1.5.1.tar.gz
$ cd uim-1.5.1
$ ./configure --prefix=$HOME

すると

checking for anthy/anthy.h... no

anthyを入れたはずなのにanthy.hが無いよと言われてしまう。Webでちょっと調べ、次の環境変数を指定した後にもう一度configureスクリプトを走らせた。

$export LIBS=-L<anthy-installed-directory>/lib
$export INCLUDES=-I
<anthy-installed-directory>/include
$export CPPFLAGS=-I
<anthy-installed-directory>/include

今度は無事にanthyを認識したみたい(^^)。あとはいつも通りにお決まりの呪文を唱えるだけ。

$make
$make install

これでuim-ximのインストールが無事終了。ホームの下の.xsessionに以下を付け加える。

--------------ここから-----------------
if type uim-xim &> /dev/null ;then
uim-xim &
fi
GTK_IM_MODULE=uim ; export GTK_IM_MODULE
QT_IM_MODULE=uim ; export QT_IM_MODULE
XMODIFIERS=@im=uim ; export XMODIFIERS
UIM_IM_ENGINE=anthy ; export UIM_IM_ENGINE
--------------ここまで-----------------

そのあとにログインし直し、uim-ximがちゃん起動することを確認した。uimの設定全般はuim-pref-gtkで行えば簡単。

$uim-pref-gtk

で起動し、標準の入力方式としてAnthyを選択する。日本語←→直接入力の切り替えは良くある「Shift+Space」でもいいし、

$uim-toolbar-gtk

または

$uim-im-switcher-gtk

などのGUIでも切り替えが出来る。Gnomeを使っている場合は、

$uim-toolbar-gtk-systray

を使うとシステムトレイにuim-toolbar-gtkが収まってコンパクトで便利。

このようにWebブラウザーなどのアプリケーション上で日本語の入力が可能になる筈であった。しかし......

anthyが選択できないorz!

どうして???????(涙)。入力方式の選択時にanthyは候補に出てくるものの、選択しても再び直接入力に戻ってしまう。はてさて...

anthyのインストールに失敗したのか?--> 否! (emacs上ではちゃんと動いている。)
uimのインストールの仕方が悪い?--> 否! (何度もインストールして確認済。)

悩んだ挙句放置。


---------この間数ヶ月--------


ずっと放置していたが、先月何気なくロケールの設定をいじっていたら、判明した。

$locale
LANG="ja_JP.eucJP"
LC_CTYPE=no_NO             <-----------コイツの所為
LC_NUMERIC="ja_JP.eucJP"
LC_TIME="ja_JP.eucJP"
LC_COLLATE="ja_JP.eucJP"
LC_MONETARY="ja_JP.eucJP"
LC_MESSAGES="ja_JP.eucJP"
LC_PAPER="ja_JP.eucJP"
LC_NAME="ja_JP.eucJP"
LC_ADDRESS="ja_JP.eucJP"
LC_TELEPHONE="ja_JP.eucJP"
LC_MEASUREMENT="ja_JP.eucJP"
LC_IDENTIFICATION="ja_JP.eucJP"
LC_ALL=ja_JP.eucJP

普段は

$export LANG=ja_JP.eucJP

でLANGを"ja_JP.eucJP"に設定して使っている。しかしこれだけでは足らない。他の変数は全て"ja_JP.eucJP"に変わるが、LC_CTYPEだけは変わらないのである。この事が分かったので、早速ホームの下の.xsessionに次を追加する。

-------------ここから--------------------
export LANG=ja_JP.eucJP
export LC_ALL=ja_JP.eucJP
export LC_CTYPE=ja_JP.eucJP
-------------ここまで------------------

とりあえず無事に日本語入力ができるようになった(^o^)。記念にスクショを貼っておく。

7 件のコメント:

匿名 さんのコメント...

約145件あります。

Hiro さんのコメント...

私が検索すると"約327件"と出た。利用する国(ネットワーク?)によってヒットする件数が違うみたい。
知らなかった...φ(・ω・)。

匿名 さんのコメント...

お。ハックのねただ。

LCなんたらにja_JPを入れると
動かないアプリがありますです。
だからLANGをja_JPにしても
影響されないようになっているのです。
いま困っていないならいいけど、
なんか不具合が起きたらこのLCなんたら
を空にしてみるといいです。
私の環境は
export LC_ALL="C"
export LC_CTYPE="ja_JP.UTF-8"
で逃げてます。

ついでにLCなんたらの設定は
.xsessionではなくて
.bashrcに書いた方がいいです。
Xの設定じゃないじゃん。

もっとついでに、eucはやめてutf8
に早く移行しよう。TeXが使えないって?
TeXもビルドだよ。

Hiro さんのコメント...

実を言うとコメント待ってました(^^)。さすがプロですね!勉強になります。アプリは今のところ快調に動いています。他の不具合が出てきたら試してみます。

>.xsessionじゃなくて.bashrc

.bashrcにも書いています。.bashrcだけだと、gnome-menuから起動したアプリにロケールの設定が反映されないので、苦肉の策です。もっと良い方法があれば教えてください。

> utf8への移行

なんだかんだで言ってeucにしがみついています。因みに大学の計算機にはptexが入っていません。まあ日本語TeXを使う機会は無いので支障はないです(^^)。最近utf8でコーディングされたメールをもらう機会が増えました。世の中はだいぶutf8になってきたのかな?

匿名 さんのコメント...

>gnome-menuから起動したアプリに....

日本語環境を自分でビルドする
環境作るのが面倒なので実験して
ないですが

$HOME/.dmrcに
Language=ja_JP.eucJP
って書けばいいんじゃない?

それでダメなら
.xsessionの初めの方に
. $HOME/.bashrc
って書くかなぁぁ。。
(これって解決になってませんが)

どっちにしても、同じ事を
二つのファイルに書くのは
避けた方がいいですよ。

こういう時の調べ方は
日本語が全くデフォルトじゃない
gentooやLFSをキーワードにして
調べればいろいろ出ますよ。

> 世の中はだいぶutf8に...

windowsとかfedoraとかubuntu
とか、有名なやつはデフォルトが
utf8だからねぇぇ。

OOSの世界ではeucをメンテする
のをやめ始めているから
いつか泣きます。古い技術を
使わざるをえないエンジニア
でもないんだから
どっかの段階でスクリプト作って
えいや、って移行すればいいと思います。
htmlとかいっぱいあると面倒ですが
hiroさんのハックの力なら数分でしょ!?

Hiro さんのコメント...

>alleyさま

コメントありがとうございます。

>.dmrc

まだ試していませんが、これでうまく行きそうな気がします。結果をまた報告します。

>eucからutf-8への変換

私はハカーじゃないので、スクリプトを書くのは苦手です(-_-;)。ですが帰国後なるべく早い内にutf-8への移行を済ませたいと思います。

Hiro さんのコメント...

>alley様

残念ながら.dmrcは読んでくれませんでした(T_T)。.xsessionがgnomeを立ち上げる前に.bashrcを読ませる事で対処します。