GNU Screenは、メイン端末内で複数の端末セッションを持つことができる端末マルチプレクサです。
では、なぜGNU Screenが必要なのですか? –ネットワークの問題により、リモートssh接続が自動的に終了するなどの問題が発生する場合があります。タスクが実稼働環境で実行されている場合、それは苦痛かもしれません。したがって、この種の問題を処理するには、ターミナルセッションの終了で終了しない別の画面セッションをお勧めします。
LinuxおよびUnixシステムには、ターミナルセッションの管理に使用されるscreenと呼ばれるターミナルマルチプレクサツールがあります。この記事では、LinuxでGNU screenを使用して、本番システムで重要なタスクを実行しながらターミナルセッションを管理する方法について説明します。
GNUScreenCommandのインストール
Linuxシステムへのscreenパッケージのインストールはシンプルで簡単です。最新のオペレーティングシステムの中には、スクリーンアプリケーションがプリインストールされているものがあります。次のコマンドを実行して、画面が使用可能かどうかを確認します。
$ screen --version
出力:
Screen version 4.08.00 (GNU) 05-Feb-20
他の出力を取得する場合は、システムで使用できるスクリーンツールがありません。次のコマンドを実行して、画面パッケージをインストールします。
Ubuntu / Debian
$ sudo apt-get install screen -y
RHEL / CentOS
$ sudo yum installs screen -y // RHEL 7 $ sudo dnf install screen -y // RHEL 8
Linuxでの起動画面
インストールが完了したら、コマンド画面を実行して画面セッションを開始します。
$ screen
出力:
名前でスクリーンセッションを作成
screenコマンドに続けてオプション-Sを使用すると、名前付き画面セッションを作成できます。この例では、screenセッションの名前としてscreen-linuxtechiを使用しました。お好きな名前をお選びいただけます。
$ screen -S screen-linuxtechi
画面パラメータの一覧表示
画面には、いくつかの便利なパラメータとコマンドがあります。使用可能なパラメータを一覧表示するには、ctrl-aを押してから?を押します。 。
注: screenは、キーctrl+aをプレフィックスとして使用します。たとえば、Ctrlキーを押しながら一緒に押す必要のある画面パラメータを一覧表示するには、キーを放してキーを押しますか? 。同様に、他のパラメータを使用できます。
出力:
画面セッションの一覧表示
次のコマンドを使用して、使用可能な画面セッションを一覧表示します。
$ screen -ls
出力
Linuxスクリーンセッションのデタッチ
画面アプリケーションによって提供される便利な機能の1つは、画面セッションを切り離して、必要に応じて再接続できることです。現在の画面セッションを切り離すには、ctrl-aを押してからdを押します。
Linux画面セッションの再接続
切り離された画面セッションは、オプション-rの後に画面セッション名を指定したscreenコマンドを使用して再度接続できます。コマンドscreen-lsを使用して、切り離された画面セッションをリストし、画面セッション名を見つけて接続します。この例では、セッション25148.pts-0.LinuxTechi
を添付しました。$ screen -ls $ screen -r 25148.pts-0.LinuxTechi
画面セッションは、画面IDまたは画面名のみを使用して再接続できます。上記の例では、25148がIDで、pts-0.LinuxTechiが画面の名前25148.pts-0.LinuxTechiです。
$ screen -r 25148 $ screen -r pts-0.LinuxTechi
Linux画面の分割ウィンドウ
場合によっては、いくつかのタスクを実行するために、画面ウィンドウを複数の画面に分割する必要があります。分割は、水平方向と垂直方向の両方で実行できます。
垂直
Linux画面ウィンドウを垂直に分割するには、ctrl-aをクリックしてから|を押します。 。同じプロセスを繰り返すことで、n個の画面ウィンドウを分割できます。
水平
画面ウィンドウの水平分割は、ctrl-aをクリックしてからS(大文字)をクリックすることで実行できます。同じプロセスを繰り返して、n個の垂直ウィンドウを作成します。
分割セッションで新しい端末を作成する
画面を水平方向に分割しても垂直方向に分割しても、新しい端末は作成されません。画面に新しい端末を作成するには、ctrl-aに続けてTabキーを使用して、新しい分割画面ウィンドウに切り替える必要があります。次に、ctrl-aとc(小文字)を押してターミナルを作成します。
分割されていない画面ウィンドウ
分割された画面ウィンドウを分割解除するには、キーQを使用してctrl-aを適用するだけです
ロック画面セッション
不正アクセスから保護するために、通常のセッションユーザーをロックせずに画面セッションをロックできます。画面端末をロックするには、コマンドctrl-aに続けてキーx(小文字)を使用します。パスワードを設定し、保護パスワードを適用するように求められます。これですべてです。
スクリーンセッションの所有者を探す
Screenは、開いた画面セッション情報をディレクトリ/ var / run/screenに保存します。画面の所有者を見つけるために、ディレクトリ内に保存されているコンテンツを一覧表示します。
$ ls -ltr /var/run/screen
出力:
スクリーンセッションを終了します
タスクが完了すると、コマンドctrl-aに続けてkを使用して、画面セッションを破棄できます。ユーザーの確認を求めるメッセージが表示されたら、yと入力してセッションを終了します。
画面のヘルプページへのアクセス
次のコマンドを実行して、画面のヘルプページにアクセスします
$ screen --help
次のコマンドを実行して、画面のユーザーマニュアルページにアクセスします。
$ man screen
いくつかの便利な画面コマンドのパラメータ
- Ctrl-a +c=>ターミナルを使用して新しい画面ウィンドウを作成します
- Ctrl-a +? =>画面パラメータの一覧表示
- Ctrl-a +A=>現在の画面ウィンドウの名前を変更します
- Ctrl-a+タブ=>次のウィンドウに切り替えます
- Ctrl-a +S=>ウィンドウを水平方向に分割
- Ctrl-a + | =>ウィンドウを垂直に分割する
- Ctrl-a +d=>画面を切り離します
- Ctrl | d=>画面を終了します
結論
この記事では、Linuxターミナルセッションを管理するためのさまざまなgnuscreenコマンドについて学習しました。提案やフィードバックがあれば、下にコメントを残してください。
おすすめの記事 :Linuxターミナルセッションアクティビティを記録および再生する方法を学ぶ