screen

screenのススメ
Screenを使う
GNU screenを使い倒せ!

利点

  • 複数の画面 (ウィンドウ) を切り替えられるため,kterm をたくさん起動しなくてもよい
  • 回線が切れたとき,再接続すれば元の画面に戻る (autodetach)
  • 既に流れてしまった表示を見たりコピーしたりできる (コピー/スクロールバックモード)

設定

~/.screenrc を編集して,端末の文字コードエスケープキーを変更.特に,デフォルトのエスケープキー C-a (Ctrl + a) は,「行頭へ移動」するときによく使うので変えておいた方がよさそう.例では,C-z (Ctrl + z) をエスケープキーとしている.C-z を入力したいときは C-z C-z と2回入力すればよい.

% cat .screenrc
defencoding eucJP
escape ^z^z

設定後,screen を起動するとメッセージが表示され,Enter を押すと通常のシェルのような画面になる.

よく使いそうなコマンド

大体のコマンドは,エスケープキーを押してもう1つキーを押すという2ストロークになっている.以下ではエスケープキーを C-a のままで記述する.

C-a c
新しいウィンドウを生成 (生成したウィンドウはシェルを終了すれば破棄される)
C-a n
次のウィンドウに切り替える
C-a p
前のウィンドウに切り替える
C-a w
ウィンドウのリストを表示
C-a S
画面を 2 つに分割する (リージョンの生成)
C-a tab
次のリージョンに移動
C-a X
現在のリージョンを破棄
C-a Q
現在のリージョン以外を破棄
C-a d
デタッチ.端末から screen を明示的に切り離す.切り離した screen をアタッチするには,-r オプションを付けて screen を起動する.不意に回線が切れた場合は自動的にデタッチされるので,やはり screen -r で回復する.
C-a esc
コピー/スクロールバックモードに入る.このモードでは,既に流れてしまった表示に戻ることができ,space を押して次に space を押した範囲の文字列をペーストバッファに格納してからモードから出る.また,esc キーを押してもモードから出られる.
C-a ]
現在のウィンドウにペーストバッファの内容を貼り付ける