On Monday 01 November 2004 09:00 pm, 長南洋一 wrote:
> 長南です。
>
> /etc/X11/xinit/xinitrc なり /etc/X11/xdm/Xsession なりをたどってみれば
> わかるとは言え、Vine の場合は、かな漢字変換システムを簡単に切り替えられる
> ようにしているため、かなり複雑怪奇になっています。ですから、すぐに
> おわかりにならないのも、もっともなことです。
>
> /etc/X11/xinit/xinitrc や /etc/X11/xdm/Xsession にこういうところが
> あります。
>
> for i in /etc/X11/xinit/xinitrc.d/* ; do
> if [ -x "$i" ]; then
> echo "loading $i..." >> $msgfile
> . "$i"
> fi
> done
>
> そして、/etc/X11/xinit/xinitrc.d/setime 中で Canna 使用ならこの部分が
> 実行されます。
>
> canna*|Canna*)
> export CANNAHOST=$CANNA_SERVER
> echo "Canna with kinput2, server=${CANNA_SERVER}" >> ${LOG}
> setime Canna >> ${LOG}
>
> この setime Canna >> ${LOG} の setime は /usr/share/vine/vinelib 中で
> 定義されているシェル関数の setime です。ここから先もかなり複雑なので
> ご自分で /usr/share/vine/* を追っていただくよりないのですが、結局
> /usr/bin/kinput2ctl $1 が実行され、この kinput2ctl というシェルスクリプト
> 中で Canna 使用ならば、
>
> kinput2 -canna ${CANNA_SERVER:+-cannaserver $CANNA_SERVER} &
>
> とめでたく kinput2 が起動するわけです。
長南さん、ていねいなご解説をありがとうございます。
私が質問させていただいた理由は、デフォルト言語を英語に設定しつつ、かつ
kinput2 を起動させるためにどこのスクリプトをいじればよいかということが
知りたかったということです。例えば Turbolinux の場合は /etc/X11/xinitrc/
xinitrc で LANG 変数をチェックし、ja_JP であれば XMODIFIERS を設定して
kinput2 を起動する、という単純なプロセスなので、改変が容易でした。
ところが Vine ではさにあらずで、どこを改変すればよいかで悩んでいたわけ
です。いまのところは .bash_profile を無理矢理使い、以下のように kinput2
を起動しておりました。
if [ ! "${XAUTHORITY}" = "" ]; then
export XMODIFIERS="@im=kinput2"
kinput2 -canna &
fi
おかげさまでこの情けないコードを消し、きちんとしたところでの改変ができ
そうです。重ねがさね、ありがとうございます。
戸山大五郎
--
Daigoro F. Toyama
dtoyama@xxxxxxxxxxxxx