KIHARA Hideto
deton****@m1*****
2006年 7月 18日 (火) 21:49:31 JST
Solaris10上のktermでuim-ximを使う方法です。 # ようやく使えるようになったので、参考までに。 * XI18N_OBJSファイルを編集して、XimpよりもXIMが優先されるようにする /usr/openwin/lib/locale/ja/XI18N_OBJSを編集して、ximcpを含む行が、 XIMで始まる一連の行の先頭に来る(ximp40を含む行より先に来る)ように編集。 --- XI18N_OBJS.orig Tue Jul 18 12:37:43 2006 +++ XI18N_OBJS Tue Jul 18 12:37:27 2006 @@ -3,7 +3,7 @@ # XI18N objects table for ja locale # XLC ja/xlibi18n_ja _XlcGenericLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_regiser XIM_unregister XIM common/ximp40 _Ximp_OpenIM # XIM_open XIM common/ximlocal _XimpLocalOpenIM # XIM_open -XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_regiser XIM_unregister XOM common/xomLTRTTB _XomGenericOpenOM # XOM_open デフォルトではXimp4.0が使われるらしく、 uim-ximを--traceや--trace-ximオプションをつけて起動しても、 XMODIFIERS=@im=uim registered, selecting tutcode (ja) as default conversion engine というメッセージ以降、ktermを起動してIMのトグル操作をしても 何も表示されません。 * uim-ximでcommit時にXIM_COMMITが飛ばない問題を修整する BTSにパッチを登録しておきました。 https://bugs.freedesktop.org/show_bug.cgi?id=7558 XIM_ENCODING_NEGOTIATIONで"EUC"が渡されるため、iconv_open()に失敗し、 uStringToCtext()が常にNULLを返すのが原因。 XimIM::set_encoding()に"EUC"が渡された場合、 mLangRegionと組み合わせて"eucJP"を使うように修整。 * 環境 Solaris10 (x86) Xサーバは/usr/X11/bin/Xorg (/usr/openwin/bin/Xsunでの動作は未確認)。 デスクトップ環境は素のX (Java Desktop System(GNOME)でもCDEでも無くて)。 httやatok,wnnは起動しないように設定済。 LANG=ja (ja_JP.PCKやja_JP.UTF-8では未確認) kterm: version 6.2.0.ext02 GNU libiconv-1.9.2 * 参考 ** ximp40 XIMCP XIM Solarisあたりでぐぐって見つけたページ http://www.kde.gr.jp/ml/Qt-devel/msg00985.html | Solaris では IIIMF を使っていない場合は、 | 今でもこの XIMP の優先度が、X11R6 の XIM protocol より優先度が | 高い(つまり通常、X11R6 XIM protocol は使われない)ようになって | います。 http://mail.nl.linux.org/linux-utf8/2001-06/msg00112.html http://webcvs.freedesktop.org/xorg/xc/lib/X11/XlcDL.c?view=markup http://docs.sun.com/app/docs/doc/806-2798/6jc07tbsc?l=ja&a=view * おまけ: Java Desktop SystemやCDEではなく素のXを使う設定 以下の2ファイルを作成すれば良かったはず。 /etc/dt/config/ja/Xresources.d/Xresources.vanilla ---- Dtlogin*altDtsIncrement: True Dtlogin*altDtName: X Dtlogin*altDtKey: /usr/openwin/bin/twm Dtlogin*altDtStart: /etc/dt/config/Xsession.vanilla ---- /etc/dt/config/Xsession.vanillaはXsession.jdsを参考にして以下。 ---- #!/bin/ksh export SESSIONTYPE="altDt" export SDT_ALT_SESSION="$HOME/.xsession" export SDT_ALT_HELLO="/bin/true" export SDT_NO_APPGATHER="1" export SDT_NO_TOOLTALK="1" export SDT_NO_DTDBCACHE="1" export SDT_NO_DSDM="1" export START_SPECKEYSD="no" exec /usr/dt/bin/Xsession ---- ~/.dtprofile ---- DTSOURCEPROFILE=true unset DTSTARTIMS export SESSIONTYPE="altDt" export SDT_ALT_SESSION="$HOME/.xsession" export SDT_ALT_HELLO="/bin/true" export SDT_NO_APPGATHER="1" export SDT_NO_TOOLTALK="1" export SDT_NO_DTDBCACHE="1" export SDT_NO_DSDM="1" export START_SPECKEYSD="no" ---- -- 木原 英人 / KIHARA, Hideto / deton****@m1***** http://www1.interq.or.jp/~deton/