kdm 使用環境で日本語入力が出来ない件について

【 2007年7月2日 追記 】

KDE が 3.5.7 に更新され、この問題は修正されました。


以前に書いた『kdm 使用で日本語入力関係のトラブル』の件ですが、Vine Linux バグトラッキングセンター (BTS) に同様の内容が投稿されていました。

※ BTS を読むにはユーザ認証が必要ですが、ユーザ名に guest 、パスワードに vinelinux と入力することで、guest としての利用が可能です。

BTS:283 の #5 を参考にして、/etc/kde/kdm/kdmrc の 22 行目を下記のように修正しました。

Session=/usr/share/config/kdm/Xsession
     ↓↓↓
Session=/etc/X11/xdm/Xsession

また、/etc/X11/xinit/Xclients の 27 行目を下記のように修正しました。

startkde*|kde*|KDE*)
 ↓↓↓
/usr/bin/startkde*|startkde*|kde*|KDE*)

これらの修正で、kdm を使用していても SCIM での日本語入力が可能となることを確認しました。

ところで、kdm を使用すると日本語入力が出来なくなった原因ですが、X の起動時に実行されるべき /etc/X11/xinit/xinitrc.d ディレクトリ下のスクリプトが、 /usr/share/config/kdm/Xsession では実行されない(記述が無い)ことに依るものでした。

うん?
ということは、/etc/X11/xdm/Xsession に書かれている /etc/X11/xinit/xinitrc.d ディレクトリ下のスクリプト実行に関する部分を /usr/share/config/kdm/Xsession にコピペすることでも問題を解決出来るのでは?

ということで、/etc/X11/xdm/Xsession の 40〜48 行目の下記部分をコピー。

#
# run all system xinitrc shell scripts.
#
for i in /etc/X11/xinit/xinitrc.d/* ; do
    if [ -x "$i" ]; then
	echo "loading $i..." >> $msgfile
	. "$i"
    fi
done

これを、/usr/share/config/kdm/Xsession の 46 行目の
[ -f $HOME/.xprofile ] && . $HOME/.xprofile
の下に挿入。もっとも、挿入する位置がここで本当に良いのかどうかはちょっと自信がありません(汗

これで X を再起動すると、無事に日本語入力が可能になっていました。v(^_^)v
こちらの手法だと、/etc/kde/kdm/kdmrc と /etc/X11/xinit/Xclients を修正する必要がありません。

Vine | comments (0) | -