vine-users ML アーカイブ



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

  • From: 長南洋一 <cyoichi@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:068406] Re: kinput2 がどこで起動しているか
  • Date: Tue, 02 Nov 2004 14:00:30 +0900 (JST)
長南です。

戸山さんのメールより [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} なども
関係しています。

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

-- 
長南洋一