2004年11月 2日

[vine-users:068406] Re: kinput2 がどこで起動しているか

長南です。

戸山さんのメールより [vine-users:068404]
>
> 基本的な質問かもしれませんが,Vine Linux 3.0 が Gnome/KDE を起動する際,
> kinput2 の起動をどこでやっているか教えていただけるでしょうか。

/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 が起動するわけです。

なお、この過程がとどこおりなく実行されるには、 xinitrc, Xsession 以後の
流れだけではなく、/etc/profile や /etc/profile.d/{lang.sh,ime.sh} なども
関係しています。

# きちんと調べ直す気力がないので、ずっと前に調べたときの記憶で書きました。
# 間違えているところがあるかもしれませんが、だいたい上のようなことです。

--
長南洋一


投稿者 xml-rpc : 2004年11月 2日 14:00
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/27467
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。