miyabihitoの日記

個人的な技術メモ

screen まとめ

・基本操作
^A-c: 仮想端末新規作成 (screen -t term_nameでも可のよう)
screen -t term_name commandline: 画面を立ち上げコマンド実行
^A-[0-9]:指定の画面への移動
^A-w:端末一覧表示
^A-?:キーバインド一覧表示
^A-A:仮想端末の名称変更

・コピーモード
^A-[:コピーモード開始(escでも可)
Enter~Enter:コピー範囲選択(spaceでも可)
esc:キャンセル
^A-]:ペースト
^A->:ペーストバッファをファイルに保存

・画面分割
^A-S:画面分割
^A-tab:画面移動
^A-Q:現在の画面以外を閉じる
^A-X:現在の画面を閉じる

分割画面のリサイズ方法がある:調査中

・デタッチ:現在のscreenの状態を保存し、screen起動前のシェルに戻ること。
^A-d
・アタッチ:デタッチしたscreenセッションの復帰
screen -r [pid]
・マルチアタッチ:既に開かれたセッションへのアタッチ
screen -x [pid]
他のホストからアクセスし、マルチアタッチして画面を共有できる。ちょっと感動。
screen -ls :デタッチしたscreenセッションの一覧表示

^A-H:ログ作成開始/終了


.screenrc:設定ファイル
escape ^Tt #エスケープキーを^C-tへ変更(^C-T自体の入力は^T-tという指定)
# caption 各ウィンドウに一つずつ
caption always "%{= wb} %-w%{=bu dr}%n %t%{-}%+w %= %{=b wk} [%l] %{=b wb}%y/%m/%d(%D) %{=b wm}%c"
# hardstatus 全体で一つだけ
autodetach on

bind l windowlist #^A-l で仮想端末一覧表示・選択可能
bind n next

startup_message off

#ウィンドウのリサイズモード
bind r eval 'echo "Resize window"' 'command -c resize'
bind -c resize ^] command
bind -c resize j eval 'resize +1' 'command -c resize'
bind -c resize k eval 'resize -1' 'command -c resize'


password ##### #screenセッションのパスワード