GNU Screenでemacsを使用しているときに、C-xを呼び出すと、C-s画面がハングし、キーボード入力に応答しません。
これを再現することはできませんが、少なくとも1日に1回、画面セッションを強制終了して再起動する必要があります。
どうすればこれを解決できますか?
ありがとう
CtrlS 「送信の一時停止」(XOFF) フロー制御 文字です。通常、これはttyドライバー、この場合はScreenによって処理されます。その反対はXON、または CtrlQ。
Emacsを起動すると、通常、ほとんどの特殊文字(フロー制御だけでなく、通常の CtrlC 「割り込み」など)。
使用する C-a:flow off
は、この画面ウィンドウのフロー制御を無効にします。
確認する C-a:info
(ポップアップで-flow
を探します)。
それでも問題が解決しない場合は、stty -ixon
またはstty stop undef
を試してください。
(stty -f /dev/tty1
またはstty </dev/tty1
を使用して、別のウィンドウから実行できます。)
私のシステム(Linux)では、ttyのフロー制御が無効になっていると画面がに気づきます。ただし、OSにはいくつかの制限がある場合があります。
画面の下でemacsを使用すると、ロックされた画面で同じ問題が発生しました。たとえば、emacsのC-aは、行の先頭に移動しますが、画面によって傍受され、機能しません。
解決:
次のコマンドを使用して、ホームディレクトリに.screenrcファイルを作成します。
#Change escape character to C-u
escape "^uu"
#unbind ctrl+s from xoff in order to be able to search in emacs
bind s
bind ^S
#unbind ctrl+x from lockscreen in order to be able to save in emacs
bind x
bind ^X
次に、C-aを使用する代わりに新しい画面を開くたびに、C-uを使用して新しい画面コマンドを入力する必要があります。他の2つの変更は、画面下でemacsを問題なく使用できるようにするために、変更が必要ないくつかの変更を処理します。