次のページ 前のページ 目次へ

10. raw mode からの脱出法

K_RAW keyboard mode を使用するプログラムの中にはキーボードモードを K_XLATE に 戻さないで終了してしまうものがあります.こうなるとなにをやるのも大変で,その 上 Ctrl-Alt-Del まで使えなくなってしまいます.しかしながらこうなっても, リセットボタンを押さずに済ませる方法が見つかることもあります(これは願っても ないことです.Hack ゲームをやっている途中にリブートされたのでは誰だって頭に来るし, その上システムが損傷する危険もあるのですから)簡単な解決法は,他の端末あるい は他のマシンからログインし,kbd_mode -a を実行することです.これは X が走って いない場合,すなわちディスプレーがテキストモードで bash のプロンプトがあるとき のやり方です.以下に示す方法は,さらに使用中のキーボードが US キーボードで, 割り込み文字が Ctrl-C ということも前提にしたものです.

第一段階:次の手順でXを起動する.2を押し(離してはいけません),F12を押し (これも離してはいけません),更にその直後に = を押してください.これでXが起 動するはずです.(解説:あるキーを押したときに発行されるキーコードがKである とすると,そのキーを離したときには K+128 のキーコードは発行されます.ご使用中 のシェルは恐らくこうしたハイキャラクターを取り扱えないでしょう.従って,キー を離した時以外にはこうしたキーコードが発生しないようにしています.しかし,す ばやくしないと,キーリピートが始まってしまいます.10 進法の 2 は それまでのがら くたを捨ててしまう機能を持つ Ctrl-C を発行します.F12 は X を, = はリターンを 生成します)ご使用中のスクリーンはきっと灰色になっていることでしょう.これは .xinitrc を設定していないからです.それでも Ctrl-Alt-Fn は機能するので,別の VT に切替えることは可能です.(Ctrl-Alt-Backspace も使えますが,X から外へ出て しまいます.つまりもとの状態に戻ってしまうのですが,これはお望みにならないこ とでしょう)

第二段階:キーボードモードを変更する.(例えば:"sleep 5; kbd_mode -a" で実行 できます)

第三段階:再度 X を離れる.X に戻るには Alt-Fx (Alt-F7である場合が多い),X から離れるには Ctrl-Alt-Backspace を用います.5秒以内に,キーボードは再び 使用可能な状態になるはずです.

こうした操作の準備を整えておきたい場合には,215A301 (3シンボル)を kbd_mode -a のエイリアスに設定しておくとよいでしょう.こうしておけば F7 (3シンボル) を叩くだけで,「きれいな身体」に戻れます.


次のページ 前のページ 目次へ