やっと分かった。ログインttyが console だとそうなるのだ。
OOoを起動して、一発目にマウスでメニューを開くと完全に Xがフリーズしてキーボードもマウスも操作できなくなることがある。 リモートで当該マシンに入ってpsで確認するとxkbcompが動いてそこで 完全に端末からの制御不能になっている。xkbcompをkillすれば治るのだが そもそもローカル端末が制御できないのでつねにリモートからはいるマシンを 用意していないといけない。こんなんじゃ不便。
でも、そうなるときとそうならないときがあるので色々条件を変えて
実験していたが全く違いが分からん。そう、実験比較対象が仮想コンソールの
別のttyだったので、そもそもその違いが原因だったと言うこと。NetBSD的に
/etc/ttys
をこうしていた。
console "/usr/libexec/getty Pc" vt100 on secure ttyE0 "/usr/libexec/getty Pc" vt220 off secure ttyE1 "/usr/libexec/getty Pc" vt220 on secure ttyE2 "/usr/libexec/getty Pc" vt220 on secure
これを以下のようにしたら症状解決。
console "/usr/libexec/getty Pc" vt100 off secure ttyE0 "/usr/libexec/getty Pc" vt220 on secure ttyE1 "/usr/libexec/getty Pc" vt220 on secure ttyE2 "/usr/libexec/getty Pc" vt220 on secure
カーネルメッセージとかをconsoleで取りたかったので 前者のようにしていたがそれが原因だったとは。