リモートマシンで長時間実行されているタスクを実行し、突然接続が切断され、SSHセッションが終了し、作業が失われるという状況に直面したことがありますか。ええと、それはある時点で私たち全員に起こりましたね?幸い、 screen
というユーティリティがあります これにより、セッションを再開できます。
ScreenまたはGNUScreenは、ターミナルマルチプレクサです。つまり、画面セッションを開始して、そのセッション内で任意の数のウィンドウ(仮想端末)を開くことができるということです。 Screenで実行されているプロセスは、切断されてもウィンドウが表示されていない場合でも実行を継続します。
Linux GNU Screen#をインストールする
現在、ほとんどのLinuxディストリビューションにはscreenパッケージがプリインストールされています。次のように入力すると、システムにインストールされているかどうかを確認できます。
screen --version
Screen version 4.06.02 (GNU) 23-Oct-17
システムに画面がインストールされていない場合は、ディストリビューションのパッケージマネージャーを使用して簡単にインストールできます。
UbuntuおよびDebianにLinuxScreenをインストールする#
sudo apt update
sudo apt install screen
CentOSおよびFedoraにLinuxScreenをインストールする#
sudo yum install screen
Linux画面の開始#
スクリーンセッションを開始するには、「 screen
」と入力するだけです。 コンソール内:
screen
これにより、画面セッションが開き、新しいウィンドウが作成され、そのウィンドウでシェルが開始されます。
スクリーンセッションを開いたので、次のように入力してコマンドのリストを取得できます。
Ctrl + a
?コード>
名前付きセッションは、複数の画面セッションを実行する場合に役立ちます。名前付きセッションを作成するには、次の引数を指定してscreenコマンドを実行します。
screen -S session_name
わかりやすいセッション名を選択することをお勧めします。
Linux Screen Windowsの操作#
新しい画面セッションを開始すると、シェルを含む単一のウィンドウが作成されます。
Screenセッション内に複数のウィンドウを含めることができます。
シェルタイプCtrl+ a
で新しいウィンドウを作成するには c
、 0 ... 9
の範囲から最初に使用可能な番号 割り当てられます。
以下は、LinuxScreenWindowsを管理するための最も一般的なコマンドです。
-
Ctrl + a
c
(シェルを使用して)新しいウィンドウを作成します。 -
Ctrl + a
"コード> すべてのウィンドウを一覧表示します。
-
Ctrl + a
0
ウィンドウ0に切り替えます(番号で)。 -
Ctrl + a
A
現在のウィンドウの名前を変更します。 -
Ctrl + a
S
現在の領域を水平方向に2つの領域に分割します。 -
Ctrl + a
|コード> 現在の領域を垂直方向に2つの領域に分割します。
-
Ctrl + a
タブコード> 入力フォーカスを次の領域に切り替えます。
-
Ctrl + a
Ctrl + a
現在のウィンドウと前のウィンドウを切り替えます -
Ctrl + a
Q
現在のリージョンを除くすべてのリージョンを閉じます。 -
Ctrl + a
X
現在のリージョンを閉じます。
Linuxスクリーンセッションから切り離す#
次のように入力すると、いつでも画面セッションから切り離すことができます。
Ctrl + a
d
スクリーンセッションで実行されているプログラムは、セッションから切り離された後も引き続き実行されます。
Linux画面に再接続する#
スクリーンセッションを再開するには、次のコマンドを使用します。
screen -r
マシンで複数の画面セッションを実行している場合は、 r
の後に画面セッションIDを追加する必要があります。 スイッチ。
セッションIDを見つけるには、現在実行中の画面セッションを次のように一覧表示します。
screen -ls
There are screens on:
10835.pts-0.linuxize-desktop (Detached)
10366.pts-0.linuxize-desktop (Detached)
2 Sockets in /run/screens/S-linuxize.
画面10835.pts-0を復元する場合は、次のコマンドを入力します。
screen -r 10835
Linux画面のカスタマイズ#
screen
の場合 が開始されると、 / etc / screenrc
から構成パラメーターを読み取ります。 および〜/ .screenrc
ファイルが存在する場合。 .screenrc
を使用して、好みに応じてデフォルトの画面設定を変更できます。 ファイル。
これがサンプルの〜/ .screenrc
です カスタマイズされたステータスラインといくつかの追加オプションを使用した構成:
# Turn off the welcome message
startup_message off
# Disable visual bell
vbell off
# Set scrollback buffer to 10000
defscrollback 10000
# Customize the status line
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
以下は、screenを使い始めるための最も基本的な手順です。
- コマンドプロンプトで、
screen
と入力します 。 - 目的のプログラムを実行します。
- キーシーケンス
Ctrl-a
を使用します +Ctrl-d
スクリーンセッションから切り離します。 -
screen -r
と入力して、画面セッションに再接続します 。
結論#
このチュートリアルでは、GnuScreenの使用方法を学びました。これで、Screenユーティリティの使用を開始し、単一のセッションから複数の画面ウィンドウを作成し、ウィンドウ間を移動し、画面セッションを切り離して再開し、 .screenrc
を使用して画面端末をパーソナライズできます。 ファイル。
Screen User’sManualページでGnuScreenについて学ぶことはもっとたくさんあります。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。