リモートマシンで長時間のタスクを実行していると、突然接続が切れてSSHセッションが終了し、作業ができなくなってしまうという状況に直面したことはありませんか? まあ、誰でもどこかで経験したことがあるでしょう。
はじめに #
Screen または GNU Screen はターミナル マルチプレクサです。 言い換えれば、Screen セッションを開始し、そのセッション内で任意の数のウィンドウ (仮想端末) を開くことができるということです。
Install Linux GNU Screen #
screenパッケージは、最近のほとんどのLinuxディストロにプレインストールされています。
screen --version
Screen version 4.06.02 (GNU) 23-Oct-17
システムに screen がインストールされていない場合は、お使いのディストロのパッケージ マネージャーを使用して簡単にインストールできます。
Install Linux Screen on Ubuntu and Debian #
sudo apt update
sudo apt install screen
Install Linux Screen on CentOS and Fedora #
sudo yum install screen
Starting Linux Screen #
スクリーンセッションを開始するには、次のように入力します。 コンソールで screen
と入力するだけです。
screen
これにより、スクリーン セッションが開かれ、新しいウィンドウが作成され、そのウィンドウ内でシェルが開始されます。
画面セッションを開いた後、次のように入力してコマンドのリストを得ることができます:
Ctrl+a
?
名前付きセッションの開始 #
名前付きセッションは、複数の画面セッションを実行するときに便利です。
Working with Linux Screen Windows #
新しいスクリーン セッションを開始すると、シェルが入った 1 つのウィンドウが作成されます。
1つの画面セッションの中に複数のウィンドウを持つことができます。
シェルタイプの新しいウィンドウを作成するには、Ctrl+a
c
の範囲から最初に利用可能な番号が割り当てられます。
以下に、Linux Screen Windowsを管理するための最も一般的なコマンドを紹介します。
-
Ctrl+a
c
新規ウィンドウの作成 (シェルを使用) -
Ctrl+a
"
全てのウィンドウの一覧表示 -
Ctrl+a
0
0番ウィンドウへの切り替え(番号で) -
Ctrl+a
A
現在のウィンドウの名前を変更する -
Ctrl+a
S
現在の領域を水平方向に2つの領域に分割する -
Ctrl+a
|
li -
Ctrl+a
tab
入力フォーカスを次の領域に切り替える -
Ctrl+a
Ctrl+a
現在のリージョンと前のリージョンを切り替える -
Ctrl+a
Q
現在のリージョン以外のすべてのリージョンを閉じる -
Ctrl+a
X
現在のリージョンを閉じる
i
Detach from Linux Screen Session #
次のように入力すれば、いつでもスクリーンセッションから切り離すことができます。
Ctrl+a
d
スクリーン セッションで実行されているプログラムは、セッションから切り離された後も継続して実行されます。
Linux スクリーンへの再接続 #
スクリーン セッションを再開するには、次のコマンドを使用します:
screen -r
マシン上で複数のスクリーン セッションを実行している場合は、r
スイッチの後にスクリーン セッション ID を追加する必要があります。
セッション ID を確認するには、現在実行中のスクリーン セッションを次のようにリストアップします:
screen -ls
スクリーン 10835.pts-0を復元する場合は、次のコマンドを入力します。
screen -r 10835
Customize Linux Screen #
screen
/etc/screenrc
~/.screenrc
.screenrc
ファイルを使用して、デフォルトのScreen設定を好みに応じて変更することができます。
以下に、ステータスラインといくつかの追加オプションをカスタマイズした~/.screenrc
設定のサンプルを示します:
Basic Linux Screen Usage #
以下にscreenを使い始めるための最も基本的な手順を紹介します。
- コマンドプロンプトで、
screen
と入力します。 - 目的のプログラムを実行します。
- キーシーケンス
Ctrl-a
Ctrl-d
を使用して、スクリーン セッションから切り離します。 screen -r
と入力してスクリーンセッションに再接続します。
結論 #
このチュートリアルでは、Gnu Screenの使用方法を学びました。
Screenユーティリティーを使い始め、1つのセッションから複数のスクリーンウィンドウを作成したり、ウィンドウ間を移動したり、スクリーンセッションを切り離したり再開したり、.screenrc
ファイルを使ってスクリーンターミナルをパーソナライズしたりすることができます。