vine-users ML アーカイブ



[vine-users:054186] Re: kinput2 に関する質問です

  • From: NISHIMURA Daisuke <nishi@xxxxxxxxxxxxxxxxxxxxx>
  • Subject: [vine-users:054186] Re: kinput2 に関する質問です
  • Date: Mon, 14 Oct 2002 20:51:42 +0900
>> "shino" == Masaki SHINOMIYA <shino@xxxxxx> writes:

shino> On Sat, 12 Oct 2002 09:46:45 -0700
shino> "Daigoro F. Toyama" <daihardM3@xxxxxxxxx> wrote:
>> 初歩的な質問ですが、Vine Linuxではシステムを立ち上げると同時に
>> kinput2が起動された状態になっています。これはどのファイルで定義
>> されているのか教えていただけるでしょうか。

shino> /etc/X11/xinit
shino> /etc/X11/wdm
shino> /usr/share/vine
shino> それぞれのディレクトリ以下にあるファイルが関係しているようです。
shino> grep kinput2 や grep setimeなどで探してみてください。けっこう複雑です。

本当に複雑です。 :-)

まず出発点は、
startx したときの起動スクリプト /etc/X11/xinit/xinitrc や、
wdm ログインしたときの起動スクリプト /etc/X11/wdm/Xsession は、
/etc/X11/xinit/xinitrc.d/ にあるスクリプトを読み込む
(子プロセスとして実行するのではない!) ことです。

そして、そのディレクトリの中には、
setime というスクリプトがあります。

次に、 xinitrc や Xsession は bash で書かれていて、
/etc/bashrc を読み込み、そこから /etc/profile.d/ にある
スクリプトを読み込みます。
(ここはまたまた複雑な話だけど、別問題なのでパス。)

そして、そのディレクトリの中には、
ime.sh というスクリプトがあります。

ime.sh からは /usr/share/vine/vinelib が読み込まれます。
そして、その中で setime という関数が定義されています。

/etc/X11/xinit/xinitrc.d/setime の中では、
setime という関数が呼び出されています。
これは上の /usr/share/vine/vinelib で定義されたものです。

関数 setime は、 /usr/share/vine/imelib を読み込み、
そこで定義された関数 setIME を呼び出します。
setIME は、いろいろと関数を呼び出しますが、
結局は、 kinput2 を使う場合は、
kinput2ctl というコマンドを実行します。
これは /usr/bin/kinput2ctl というスクリプトです。

このスクリプトの中で、 kinput2 が起動されます。
終わり。

-- 
西村 大介 <nishi@xxxxxxxxxxxxxxxxxxxxx>
東京大学 総合文化研究科 広域システム科学系