kinput2を有効にするとktermやGNOMEが起動できなくなる現象を回避する


Last Update: 2005/01/04
3773 th Visitor

kinput2とXFree86 4.2.x

XFree86 4.1.xの時は全く問題無かったのですが、XFree86 4.2.0以降のXではしばしばkinput2と相性が出ることがあります。
これは、kinput2を.xinitrcに記述してXを立ち上げると、特定の環境においてXが起動しなかったりアプリケーションが強制終了したりする現象です。
身近な所では、ktermやGNOMEで起こりやすいです。

何故このような事が起こるかというと、XFree86-libraryの仕様が変わったために、kinput2が完全に起動していないのに、次のアプリケーションを起動させるようになったためです。
.Xresourcesにkinput2関連の記述をしてから、kinput2が起動していない状態でktermを起動するとエラーが起こってktermが終了しますよね?
これと同様の事がXの起動時に起こっているのです。

何故強制終了するのかわかれば、この問題の解決方法は簡単です。
つまり、kinput2が完全に起動してから他のアプリケーションを起動するようにすれば良いわけです。
sleepという一定時間何もしないようにするコマンドがありますので、.xinitrcのkinput2のすぐ下あたりにこれを書き加えて、kinput2が起動し終えるまでの時間を確保してやれば、この問題は解決できます。

> vi ~/.xinitrc

kinput2 &
kterm

となっている所を、

kinput2 &
sleep 3;
kterm

この場合はsleep 3;としていますが、kinput2が起動し終わって問題が起こらなくなる時間は環境によって異なると思います。
この時間は各自で変えてみて大丈夫な時間を探ってください。
私のPCの場合はsleep 1;としても大丈夫でした。


Xの日本語環境


もどるにゅ

トップにもどるにゅ