2009年5月 5日

[vine-users:079328] Re: Vine Linux4.2でPS/2キーボードの挙動が変です

長南です。もうちょっとだけ続けます。

Itou さんのメールより [vine-users:079324]
>
> Option "XkbDisable"を削除して起動してみますと、以前のように
> チャタリングが起こりました。
> 再び、Option "XkbDisable"を書き足して起動すると解決しました。

Driver "keyboard" と Option "XkbDisable" の両方が必要だったのですね。

XkbDisable を有効にするのは、X のキー設定を使わずに、コンソール上での
キーマップを引き継ぐということでもあります。そのため、X のデフォルト
で使えるキーが利用できないという現象が起こります。

たとえば、日本語の入力は Shift-Space か Ctrl-Space で始めると
思いますが、Vine のデフォルトでは「半角/全角」キー (キーシンボルは
Zenkaku_Hankaku) でも日本語を ON にできます。ところが、コンソールでは、
「半角/全角」のキーシンボルが Escape なのです。その結果、
Option "XkbDisable" を有効にしておくと、「半角/全角」で日本語入力を
開始することができません。そういう不便があるわけです。

# ほかのキーはだいたい大丈夫みたいですけれど。

なお、Driver "kbd" を使用したときは、"XkbDisable" というオプションを
使えないようです (書いても無効らしい)。

> /etc/X11/xinit/xinitrcの「# otherwise, take default action」下は
> if...then...fiの中に「exec」があります。if文が終わってから
> 「xset -r」を書きましたが、この場合も実行されないのでしょうか?

if の中で exec some-script が実行されると、制御が some-script に
移ってしまい、返って来ません。ですから、fi の下に書いたコマンドが
実行されるのは、if 中でひとつも exec が実行されなかったときだけに
なります。ちいさなシェルスクリプトを書いてお試しになってみてください。

ついでなので、もう一つ説明しておきます。/etc/X11/xinit/xinitrc を
ご覧になって、もう大体おわかりでしょうけれど。

startx で X を起動すると、$HOME/.xinitrc が存在すればそれが、
存在しない場合は、/etc/X11/xinit/xinitrc が最初に実行されます。
startx はシェルスクリプトなので、お読みになってみてください。

gdm でログインした場合、Vine 4.2 では (このへん、ディストリビュー
ションやバージョンによって違うことがあります) /etc/X11/xdm/Xsession が
最初に実行されます (/usr/share/gdm/defaults.conf の BaseXsession 参照)。

留意すべきは、この /etc/X11/xinit/xinitrc や /etc/X11/xdm/Xsession から
X の環境 (キーマップや日本語入力など) が設定されていることです。
つまり、/etc/X11/xinit/xinitrc や /etc/X11/xdm/Xsession を利用しない
場合は、自分で日本語入力の設定などをしなければなりません。

続いて、/etc/X11/xinit/xinitrc や /etc/X11/xdm/Xsession から、
$HOME/.xsession や $HOME/.Xclients が存在して実行可能であれば、
それが実行されます。存在しないときは、/etc/X11/xinit/Xclients が
実行される。この /etc/X11/xinit/Xclients から Gnome のような
デスクトップ環境やウィンドウマネージャが起動されるわけです。

--
長南洋一


投稿者 xml-rpc : 2009年5月 5日 23:02
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/84832
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。