正直なところsshで接続しているときに落ちても大丈夫、くらいにしか使ってなかったんですけど、CTRL+aが使えないのはscreenのせいかー!と思ったところから、せめてコマンドくらいは見ておこうと思いました。
まず、CTRL+aが使えなくなるのは、screenのキーバインドがbashとかのキーバインドよりも優先して働くため使えないようです。
CTRL+aではなく、CTRL+tとかzとかに変更するといいらしいです。
CTRL+tに変更する
~/.screenrcを作成し、以下を入力
[text]
escape ^Tt
[/text]
これでCTRL+aが使えます。
カスタマイズ
ひとまず便利そうなやつ。
・下にウィンドウの一覧が表示され、アクティブなウィンドウがわかるようになる。すばらしい・・・
~/.screenrc
[text]
hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w"
[/text]
・最初にでてくる画面を省略する。
./.screenrc
[text]
startup_message off
[/text]
・こちらはsshするときに新しいウィンドウを作って、ホスト名をウィンドウ名にしてくれる。紹介してたサイトのだとうまく動かなかったので微妙に変更。
~/.zshrc
[text]
function ssh_screen(){
eval server=’$’$#
screen -t $server ssh "$@"
}
if [ x$TERM = xscreen ]; then
alias ssh=ssh_screen
fi
[/text]
・コマンド
|~コマンド|~内容|
|^Tc|新しいウィンドウ|
|^Tn|次のウィンドウ|
|^Tspace|次のウィンドウ|
|^Tp|前のウィンドウ|
|^Tw|ウィンドウ一覧|
|^T数字|数字のウィンドウに切り替え|
|^T”|リストからウィンドウを切り替え|
|^Tk|ウィンドウを閉じる|
|^Td|デタッチ|
|^TS|ウィンドウを上下に分割|
|^T||ウィンドウを左右に分割|
|^Ttab|分割したウィンドウを移動|
|^TX|アクティブな領域を閉じる|
|^TQ|アクティブな領域以外を閉じる|
|^T?|ヘルプの表示|
・コマンド
|~コマンド|~内容|
|screen|スクリーンの起動|
|screen -ls|スクリーンの一覧|
|screen -r|デタッチしているスクリーンにアタッチ|
|screen -r
|screen -rx|デタッチしていないスクリーンにもアタッチ|
screen -rx を使えば、端末を共有できる。
・コピーモード
端末の画面をコピーして別端末にペーストしたりできる。
|~コマンド|~内容|
|^T[|コピーモード開始|
|SPACE|コピーする範囲の開始、終了|
|ESC|コピーモード終了|
|^T]|ペースト|
参考
- GNU screen いろいろまとめ。 – naoyaのはてなダイアリー
- GNU screenを使ってみるテスト – Ryoの開発日記
- screenコマンドの導入から利用するまでにやったこと – rderaログ
- [screen] 縦分割つかえるようにしてみた。 | コンピュータ!