Linux screenコマンド使い方

  • 86
    いいね
  • 0
    コメント

かなり基本的な操作について
screenを使ったことがない人は、たぶん<ctrl> + <a>という操作に慣れないと思う。慣れればなんてことはないだろうけど。

3つの目的別に説明。
(1)スクリーンでセッションを保存
(2)スクリーンで画面分割
(3)スクリーンでマウスを使わずにコピー&ペースト(画面のスクロール)

(1)スクリーンでセッションを保存

作業している状態を保存する。マシンの電源が切れない限り保持される。
たとえば、普通にログインしてジョブを流していると、いつの間にかsshの接続等が切れてjobが止まってしまうときがある。screenで生成したセッション内で計算を投入し、セッションからデタッチ(一時的に離れる)しておくことで、途中で計算プログラムが止まることがなくなる。

新しいセッションを作る

screen

セッションを一時的に離れる(デタッチ)

<cntl> + <a> 

d

一旦、コントロールとaを同時に押してから、dを入力する。

screenの状態を確認する

screen -ls

アタッチする

screen -r

複数のセッションがある場合は、 screen -ls で調べたIDを指定してセッションに戻る。

セッションに名前を付ける

screen -S hogehoge

として新規スクリーンを作ると、screen -r hogehogeでアタッチできる。

(2)スクリーンで画面分割

どんなターミナルでもscreenが入っていれば画面分割して作業できる。

水平方向に画面を分割

<cntl> + <a> 

S

コントロールキー+aを同時に押した後で、大文字のSを入力する。

分割された画面の移動

<cntl> + <a> 

<tab>

新しい端末を作る

分割された画面にできた、何もない空間に移動して以下を実行する。

<cntl> + <a> 

c

垂直方向に画面を分割

<cntl> + <a> 

|

分割したスクリーンを消して、元に戻す

<cntl> + <a> 

X

(3)スクリーンでマウスを使わずにコピー&ペースト

コマンドライン操作に慣れてくると、マウスを使うことが億劫になってくる。
スクリーンを使えば、キーボードだけでターミナル上の文字列をコピペできる。

コピーモードに入る(画面のスクロール)

<cntl> + <a> 

[

コピーモードに入ると、カーソルが矢印キーで自由に動かせるようになる。
PageUpとPageDownキーも画面を大きく動くときに利用できる。

コピーしたい始点でSpaceキーを押して、終点でもう一度SpaceキーもしくはEnterで、バッファーに一時保存できる。

なお、コピーモードではスクロールが自由。通常のスクリーンのセッションではマウスのホイールキーを使って端末の出力をさかのぼって見ることができないが、コピーモードを使って画面をスクロールするという使い方もできる。

ペースト

<cntl> + <a> 

]

スクリーンを起動していれば、どんな状態のときもコピーモードに移行とペーストが利用できる。

参考

ほかにもいろいろなscreenコマンドがある。
http://aperiodic.net/screen/quick_reference