screenに関するtips

unix使いには、便利なscreenですが、トラブルもあります。 トラブル毎に原因と解決方法を整理してみました。

以下、screen の コマンドキーは、 デフォルトの "C-a" であるとします。設定で別のキーにしている場合は適宜読み替えてください。

時々フリーズする

症状: screen 経由で emacs を使っていると端末がかたまる場合がある。C-x C-s や C-s を押すと固まる。
症状: 時々フリーズする。キーを受け付けなくなる。C-q や C-a C-q を押すと復帰する。

原因: "C-a f"を押すなどして、フロー制御が有効なモードに切り替わったため。

解決方法: "C-a f"を押し、フロー制御をOffにすれば良い

参考URL:

表示が時々崩れる

症状: emacs などを使っている場合に、表示が崩れる場合がある。C-l で再描画すると一時的になおる。
症状: 画面にごみが残る場合がある
症状: 一行を越える出力を行うと、表示が乱れる
症状: 画面右端まで文字が出力されると、表示が崩れる

原因1: "C-a f"を押すなどして、フロー制御が有効なモードに切り替わったため。
原因2: 端末のサイズが変わったため。

解決方法1: "C-a f"を押し、フロー制御をOffにすれば良い (-flow と表示されればOffになっている)
解決方法2: resize コマンドを実行し、termcap を更新する

表示が毎回崩れる

症状: 毎回表示が崩れる。

原因: termcap 回りの設定ミス

解決方法1: termcapを正しく設定する。
解決方法2: workaround として、環境変数 TERM を xterm などに変更すると、症状が改善する場合がある

行が折り返されない

症状: 行が折り返されない

原因: wrap が off になっている。

解決方法1: C-a C-r で wrap モードを on にする。wrapモードはウインドウ毎に設定できる点に注意。
解決方法2: 設定ファイル .screenrc で wrapモードの初期値が設定できる。デフォルトで折り返したい場合、つまり wrap モードを on にしたい場合は

defwrap on

と書く。