単一の端末コンソールから複数の仮想スクリーン セッションを実行したいですか?それとも、インターネット接続が切断されて SSH 経由でコンソール セッションが終了することを回避しますか?もしそうなら、今すぐ GNU Screen ターミナル マルチプレクサをツールセットに迎え入れてください。
GNU Screen ユーティリティの使用
Linux 用の GNU Screen ユーティリティは、現在のターミナル セッション内から複数の仮想スクリーン セッション (追加のコンソール ウィンドウのようなものと考えてください) を開始できる多用途のスクリーン マルチプレクサです。
始めるのは簡単です。次を使用して GNU Screen ツールをインストールできます。
sudo apt install screen
ターミナルのコマンドラインで次のようにします。
RedHat/RPM ベースのオペレーティング システムを使用している場合は、上記のコマンドの `yum` を `apt` に置き換えてください。
新しい仮想コンソールを開くには、次のように入力するだけで済みます。
screen
Enter キーを押すと、スプラッシュ画面が表示されます。
スペースキーまたは Return キーを押すだけでスプラッシュ画面を閉じます。コマンド プロンプトが戻ったように見えますが、実際には仮想スクリーン セッションに入っています。これは、以前のターミナル セッション内で実行される、代替のターミナル セッションと考えてください。
GNU 画面の優れた点の 1 つは、メイン/親端末セッションが何らかの理由で失敗またはクラッシュした場合 (たとえば、ネットワーク接続が失われたため)、およびメイン/親端末セッションを閉じるか終了した場合でも、この画面が表示されることです。スクリーンセッションはライブのままで実行されます。
現在 screen セッション内にいるかどうかは簡単に確認できます。
この if ステートメントは、
$STY
変数が設定されているかどうか。もし
$STY
環境変数が設定されている場合、これは画面セッションになります。
では、メイン/親端末セッションに戻るにはどうすればよいでしょうか?これは、GNU 画面がバックグラウンドでリッスンするキーボードの組み合わせを使用して実行できます。 CTRL+A > CTRL+D を押すだけです。その際に CTRL キーを放しても放さなくても問題はありません。
次のような出力が表示されます。
これはまた、仮想 GNU スクリーン セッションから切断しただけであること、つまり終了しておらず、必要に応じて再度接続できることも示しています。何らかの理由でメイン/親セッションが閉じたとしても、仮想スクリーン セッションは終了せず、再び接続することができます。
セッションに再接続するには、次の簡単なコマンドを発行します。
このコマンドを確認すると、実行していた仮想スクリーン セッションに戻るだけです。仮想スクリーン セッションに再接続するために、関連するプロセス ID (スクリーン セッションから切断したときに報告されたもの) を使用したことに注目してください。また、これにより、無制限の量のスクリーン セッションを開始する方法 (ただし、各セッションはある程度のリソースを消費します) と、
screen -d -r
指示。
このコマンドに使用したオプションの詳細については、画面のインライン マニュアルを参照してください。
画面とその多くの機能のより広い概要については、
man screen
指示:
現時点でマシン上で実行されているスクリーンセッションのリストを表示したい場合は、次のように発行できます。
screen - list
指示:
まだどこかに接続しているかどうかに応じて、セッションが「接続解除済み」または「接続済み」とどのように報告されるかに注目してください。
場合によっては、端末ウィンドウのサイズで使用できる行数よりも多くの出力行が生成された場合など、画面セッション内でスクロールバックしたい場合があります。これは、マウスを使用して上下にスクロールするのと同じくらい簡単だと期待されるかもしれませんが、そうではありません。
代わりに、CTRL+ESC キーボードの組み合わせを使用してコピー モードを有効にすることができます (ただし、スクロールのみを行う場合、実際のコピーは作成されません)。これで、マウスと標準の上/下カーソル キーが正しく動作するようになります。検索 (および/または必要に応じてコピー、たとえば通常どおりマウスで選択してコピー) が終了したら、ESC キーをもう一度押すだけでコピー モードを中止できます。
場合によっては、画面内で実行されているプログラムが、プログラム エラーやメモリ不足、ディスク不足などによりクラッシュすることがあります。この場合、画面には「Dead」と表示されます。
screen - list
出力:
そのような時点で、次のコマンドを発行することでデッド スクリーン セッションを消去できます。
screen -wipe
指示:
この記事では、GNU screen ユーティリティのインストール方法、それを使用して新しい仮想スクリーン セッションを開始する方法、既存のスクリーン セッションからの接続解除と再接続の方法について説明しました。最後に、画面セッション内でスクロールする方法と、デッド スクリーン セッションを処理する方法について説明します。





