長南です。 # 全文引用は御無用です。前のメールはこちらにもありますから。 佐藤さんのメールより [vine-users:079063] > > ランレベル3で起動した後、同じ事をやった結果が以下です。 > startxを実行する前です。startx実行後は前回と同じになります。 > startx後に、gnome-terminal、geditを実行してもscimの数は > 変わりませんでした。 runlevel 3 でブートしてみたのは、とてもよいことでした。 X Window System を起動する前にも、scim-launcher が動いているんですね。 それは、非常に不思議なことです。 Vine の場合、X の起動時に起動スクリプトを介して scim が実行される のが標準です。そのスクリプトが、前に述べた /etc/X11/xinit/xinitrc.d/ setime であり、最終的に scim -d を実行しているのは、/etc/.../setime から呼び出される /usr/share/vine/imelib 中の startScim シェル関数です。 つまり、Vine の標準では、X が起動する前に scim が動いているはずが ないのです。また、X 起動前に scim -d を実行しても、普通は scim の 起動に失敗します(scim の起動を成功させる方法もありますけれど)。 # 実は、gdm も scim を起動しています。しかし、gdm が起動する scim は、 # ユーザがログインしたとき、すべて殺されるようです。 それでも、佐藤さんのところでは、X の起動前に scim が動いている。 いったい、どこで実行されているんでしょうか。 ところで、マシンはお一人でお使いなんですか。vnc かなんかで同時に 複数の人が使用しているということはありませんか。もしそうなら、 scim はそっちで使っているということになるのですが。 マシンをブートすると、まず /etc/rc.d/rc.sysinit が実行されます。 それから、runlevel 3 なら /etc/rc.d/rc3.d 中の、runlevel 5 なら、 /etc/rc.d/rc5.d 中のスクリプト(実はリンク)が実行される。 ここでログインになるわけですが(runlevel 3 の場合を考えます)、 シェルに bash を使っていれば、bash がログインシェルとして起動され、 まず /etc/profile を、それから ~/.bash_profile を読み込んで実行します。 正確な説明は、man bash (jman bash)をやって、「INVOCATION(起動)」を 読んでください。 Vine の場合、profile から、/etc/profile.d/*.sh が実行されますし、 ~/.bash_profileからは、~/.bashrc が、 ~/.bashrc からは /etc/bashrc が 実行されています。ざっとそんな具合ですが、それぞれのスクリプトから、 さらに呼び出されているスクリプトもあるかもしれません。 # 続いて startx で X 関係の起動スクリプトが読み込まれるわけですが、 # 佐藤さんの場合は、startx 以前にすでに scim-launcher が動いている # のですから、こっちを考える必要はないでしょう。 そんなわけですから、上に述べたスクリプトを、まず bash 関係から 始めて(シェルが bash でなかったら、その関係のものから)、調べて みたら、何かわかるかもしれません。繰り返しになりますが、Vine の 標準では、上のようなブート/ログイン時のスクリプトから scim が 実行されることはないはずなのです。そうしたスクリプトを変更した 御記憶はないでしょうか。 # なお、ps -A ではなく、ps ax の方を使ってみてください。 # scim 関係のコマンドの引数までわかりますから。scim -A でも、 # 引数までわかるようにすることができるのかもしれませんけれど。 -- 長南洋一