Screen

screenとは

1つのターミナル内で、仮想的に複数の端末を起動することを可能にするアプリケーションのこと。

~/.screenrcの設定
# ~/.screenrc
# 文字コード設定
defutf8 on
defencoding utf8
encoding utf8 utf8

# screen起動時のメッセージをoff
startup_message off

# エラー時に画面がフラッシュするVisualBellをoff
vbell off

# スクロール行数の設定
defscrollback 10000

# マウススクロールを有効 # 画面がバグるから過去ログを見るときはコピーモードにした方が良い。[ctrl]+[t] + [esc]
#termcapinfo xterm* ti@:te@

# エスケープキーの変更
escape ^Tt

# ステータスラインを常時表示
hardstatus alwayslastline "%{= rw} %H %{= wk}%-Lw%{= bw}%n%f* %t%{= wk}%+Lw %{= wk}%=%{= gk} %y/%m/%d %c "

# 接続が切断されてもプロセスを維持
autodetach on

# screen起動時にウィンドウを4つ表示
screen
screen
screen
screen

# vimのバッファを終了時に消去
altscreen on


コマンド
コマンド 解説
screen screen起動
ctrl+t c ウィンドウ作成
exit ウィンドウ終了
ctrl+t \ デタッチせずに全ウィンドウ削除
[ctrl]+a d 現在開いている仮想端末をサスペンド状態にして閉じる
screen -r [pid] セッションにアタッチ(もしセッションが1つしかないなら、pidは不要)



screenを使えば途中でSSH接続が切れても再度リモートサーバにログイン、セッションをattachできるので、SSH接続状態で処理に時間を多く費やする作業を行うときはscreenを使うと良い。