GNU screen
vim study/BP Study外伝 #01
shin(no)suke sato
(id:shin_no_suke)
1
GNU screenとは?
•仮想端末管理ソフト
•http://www.gnu.org/software/
screen/
2
あなたがscreenを覚え
ないことがバカらしい
たった一つの理由
3
(学習)コストパフォー
マンスが高い
4
vim
zsh
screen
変態。付き合いづらい
もっと変態。付き合いづらい
いい奴。付きあいやすい
付き合いやすさ
5
STEP0: 設定
$HOME/.screenrc
defencoding utf8
escape ^z^z
hardstatus alwayslastline '%{= kG}[ %{G}%H %{g}][%= %
{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}
%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'
startup_message off
defscrollback 50000
vbell off
6
STEP1: 起動
$ screen
7
STEP2 :仮想端末起動・切り替え
<C-z>c # 起動
<C-z>K # 終了
<C-z>端末の番号(0,1..) # 移動
8
STEP3:ウィンドウ分割
<C-z>S #分割
<C-z><Tab> #移動
<C-z>Q #分割解除
9
STEP4 : コピーモード
コピーモードとは現在の端末を一つのテキスト
ファイルのように扱い、現在の端末の表示から
消えてしまった後方箇所へバックスクロールし
たり、特定の箇所をコピーして、現在のshellで
ペーストしたりすることができるモード。コ
ピーモード中の移動に関してはviライク。
10
STEP4-1: 切替と移動
# コピーモード切り替え
<C-z><ESC> or <C-z>[
# 移動・検索(vim ライク)
<C-f>,<C-b> ?,/ hjkl
11
STEP4-2 :コピー・ペースト
<C-z><Space> -> (移動) -> <C-z><Space>
<C-z>Y # 現在の行をコピー
<C-z>] #ペースト
# コピー(開始・終了位置指定)
12
STEP4-3 :補足
•コピーモードを個人的によく使うのが?
(後方検索)。例えばmysqlとかでテー
ブルが1000個くらいあるとshow
tablesして後方検索で探したりできる
13
STEP5 : デタッチとアタッチ
screenの状態を保存して後で復帰させる
ことができる。例えば
• 途中で切断された場合自動でデタッ
チ、もう一度接続してアタッチ
• 帰宅時にデタッチ、出社時にアタッチ
14
STEP5-1 : デタッチ
<C-z>d # デタッチ
$ screen -ls # デタッチされた一覧
15
STEP5-1 : アタッチ
# アタッチ
$ screen -r <プロセス番号 or 名前>
# 名前をつけてアタッチ
$ screen -S hoge -> screen -r hoge
# 一番最近のデタッチでアタッチ(?)
$ screen -r -R
16
まとめ
•仮想端末起動・切り替え
•ウィンドウ分割
•コピーモード(コピー)
•デタッチ、アタッチ
•いい奴
17

GNU screen (vim study #1)