前提条件:
このガイドで説明されている手順を実行するには、次のコンポーネントが必要です。
- 適切に構成された Fedora Linux システム。お持ちでない場合でも簡単にできます VirtualBox を使用して Fedora Linux VM を構成する 。
- sudo 権限を持つ非 root ユーザーへのアクセス。詳しくはこちら sudoers を使用して sudo 権限を管理する 。
Fedora Linux の Screen コマンド
Fedora Linux (さらに言えば、他のほとんどの Linux システム) では、ターミナルを使用するときは常に、一度に 1 つのコマンド/スクリプトのみを実行できます。コンソールは、現在のコマンド/スクリプトの実行が終了しない限り、新しいコマンドを受け入れません。
ただし、複数のコマンドを並行して実行する必要がある状況は数多くあります。ここで「screen」コマンドが登場します。これは基本的に端末マルチプレクサです。現在のターミナル内でターミナル ウィンドウを起動でき、各サブターミナルが本格的な機能を提供します。さらに、画面はバックグラウンドでコマンド/スクリプトを実行することもできます。
「screen」コマンドには、多くの興味深い機能が付属しています。例えば:
- 現在のシェルセッションからプロセスを切り離す
- リモートアクセス
- SSH 経由で画面セッションを共有する
Fedora Linux への Screen のインストール
「screen」コマンドは、Fedora Linux に付属する組み込みツールの一部ではありません。ただし、デフォルトのパッケージ リポジトリから直接入手できます。
まず、パッケージ情報キャッシュを更新します。
$ 須藤 dnf メイクキャッシュ
次に、パッケージ画面をインストールするように DNF に指示します。
$ 須藤 DNF インストール 画面
画面の詳細を使用する
キーボードショートカット
ユーザー エクスペリエンスを劇的に変えることができるキーボード ショートカットがいくつかあります。以下に、留意すべきキーボード ショートカットをいくつか示します。
- 現在のセッションを切断します: Ctrl + A、d
- 現在の「画面」セッションを終了します: Ctrl + A、k
- 次の画面に移動します: Ctrl + A、n
- 前の画面に移動: Ctrl + A、p
- すべてのキーボード ショートカットを表示: Ctrl + A、?
ここでは、最初に「Ctrl + a」を押してから、もう一方のキーを押します。キーボード ショートカットでは大文字と小文字が区別されることに注意してください。
スクリーンセッションの開始
screen セッションを起動するには、次のコマンドを使用します。
$ 画面
あるいは、次の名前を付けてセッションを起動することもできます。
$ 画面 -S < セッション名 >
仮想ターミナル内に着陸します。すべてのコマンドとキーボード ショートカットは、「Ctrl + A、?」を押すと表示できます。
ターミナルはデフォルトのシェル アプリを使用します。
$ エコー $シェル
この仮想端末内で、任意のコマンドを実行できるようになります。
複数の端末
これは、「screen」コマンドの最も強力な機能の 1 つであり、複数の仮想端末を作成します。キーボード ショートカットを使用してそれらの間を移動できます。
「htop」を使用して最初の画面でシステム リソースを監視するとします。
$ hトップ
ここで、「Ctrl + a、Ctrl + c」を押して新しい画面を作成します。
ディスク容量の使用状況を監視するとします。
$ 時計 DF -h
前の画面に移動するには、「Ctrl + a、p」を押します。
次の画面に進むには、「Ctrl + a、n」を押します。
端子を分割する
前の方法では、さまざまなタスク用にまったく新しい画面を作成しました。ただし、セッションの数が増えると、セッションを追跡することが困難になります。さらに、同じ画面上のすべてのものに注目したい場合もあります。
ここで、端末分割が登場します。「screen」コマンドを使用すると、仮想端末を水平方向と垂直方向の両方に分割できます。水平分割を作成するには、「Ctrl + A、|」を押します。
垂直分割を作成するには、「Ctrl + a、S」を押します。
別の分割に切り替えるには、「Ctrl + a、Tab」を押します。切り替えたら、「Ctrl + a、Ctrl + c」を使用して新しい画面インスタンスを作成する必要があります。
興味深いことに、分割ターミナルからは、前のすべての画面をスクロールすることもできます。
すべてのセッションの一覧表示
次のコマンドは、実行中のすべての screen セッションを一覧表示します。
$ 画面 -ls
プロセスの切り離し
ターミナルを閉じると、すべての子プロセスも終了します。これは、「画面」を使用して作成する仮想端末にも当てはまります。ただし、screen は実行中のコマンド/プロセスを仮想端末から切り離すことをサポートしています。
まず、プロセス ツリーをチェックして、現在のターミナルに接続されているプロセスを確認します。
$ pstree < ユーザー名 >
実行中のコマンド/プロセスを仮想端末から切り離すには、「Ctrl + A、d」を押します。
実行中のプロセスのリストを確認して、プロセスが正常に切り離されたかどうかを判断できます。
$ pstree < ユーザー名 >
プロセスの再接続
screen セッションから切り離されたプロセスは、再接続できます。デバッグのために実行中のバックグラウンド プロセスを確認すると役立つ場合があります。
まず、画面インスタンスのリストを確認します。
$ 画面 -ls
プロセスを再アタッチするには、いくつかの方法があります。セッション名を使用してそれを行うことができます。コマンド構造は次のとおりです。
$ 画面 -r < セッション名 >
セッションに名前が指定されていない場合は、その PID を使用してセッションに再接続する必要があります。
$ 画面 -ls
PID を特定したら、次のコマンドを使用してプロセスを再接続します。
$ 画面 -r < セッションpid >
画面セッションを閉じる
画面セッションが不要になった場合は、複雑さを軽減するためにセッションを閉じることをお勧めします。
まず、実行中のセッションのリストを確認します。
$ 画面 -ls
セッションを強制終了するには、セッションにアタッチし、「Ctrl + a、k」キーボード ショートカットを使用します。
セッション終了メッセージが表示されるはずです。
結論
Fedora Linux に「screen」コマンドをインストールする方法を説明しました。 「screen」コマンドは、端末内で端末を起動するための強力なツールです。また、新しいセッションの作成、不要なセッションの終了、プロセスの切り離しと再接続など、「screen」コマンドのさまざまな使用方法も紹介しました。
快適なコンピューティングを!