sttyのフロー制御でハマりました

| コメント(5) | トラックバック(0)

Unix系のOSをいじっていて、突然キー入力ができなくなって ^q で元の入力状態に戻るというような現象にみまわれたことはないだろうか。そんな現象になるのはたいていフロー制御の stop モードになっていることが原因らしい。気付かない間に ^s を押してフロー制御の stop モードになっているのだろうと思う。

この現象になっている端末で emacs を使おうものなら、^x^sで保存ができなくなってしまうのだ。コワー。(まぁその場合でも^xsで一応保存はできるのだが)

ちなみに ^sが stop モードに割当てられているかどうかは、コマンドラインで

% stty -a

とやると確認できると思う。ちなみに ^q は start に設定されているはずである。^s で stop、^q で start とフロー制御をやるらしい。でもこんな状態になっていると emacs が満足に使えないので、自分は苦肉の策で、

% stty stop ''

として対応しました。これで ^s を押しても stop モードにはなりません。
でもこれって正しい解決法なんでしょうか…。

教えてエラい人!

トラックバック(0)

トラックバックURL: http://blog.clouder.jp/mt/mt-tb.cgi/616

コメント(5)

そういうことだったんですね!
screenでウィンドウ分割しようとする時によくなってて、原因がわからなかったので他のウィンドウでログインしなおしてkillしてましたw
謎が解けてかなり嬉しいです。

screen の bindkey + f とかのことか?

>tanimotoさん
自分もときどきなって困ってログインしなおすってことあったので、調べてみました。でも正しい解法かどうかは…わかりません。。。

>toonaさん
bindkey + fってなんだ?screenだとそうなの?

stty stop undef
かな

なるほど、そうなんですね。
どなたかわかりませんが、ありがとうございます!

コメントする

検索

広告

OpenID対応しています OpenIDについて
Powered by Movable Type 4.22-ja