LinuxにおけるScreenコマンドの使い方ガイド
Linuxターミナルで長時間実行されているタスクが失われたSSHセッションや閉じたターミナルウィンドウによって中断されたことがあるなら、その苛立ちがどれほどか分かるでしょう。幸いなことに、Linuxサーバーは、バックグラウンドでターミナルセッションを実行し、それから切り離し、後で再接続できる強力なユーティリティscreenを提供しています — 切断後でも可能です。
このガイドでは、インストールから一般的なコマンドまで、screenの基本的な使い方を説明します。
screenとは?
screenは、1つのウィンドウ内で複数のターミナルセッションを作成できるターミナルマルチプレクサです。セッションから切り離し、バックグラウンドで実行させたままにし、後で再接続することができるため、リモート作業や持続的なプロセスの実行に最適です。
screenのインストール
ほとんどのLinuxディストリビューションでは、screenはデフォルトのパッケージマネージャを通じて利用可能です。
Debian/Ubuntuの場合:
sudo apt update
sudo apt install screenCentOS/RHELの場合:
sudo yum install screenFedoraの場合:
sudo dnf install screen基本的な使い方
Screenセッションの開始
screenこのコマンドは新しいscreenセッションを開きます。ウェルカムメッセージとターミナルプロンプトが表示されます。
セッションに名前を付ける
screen -S mysession-Sを使用して、後で簡単に参照できるようにセッションに名前を付けます。
切り離しと再接続
セッションから切り離す
screenセッション内で、次のキーを押します:
Ctrl + A, then Dこれにより、セッションが切り離され、バックグラウンドで実行され続けます。
アクティブなセッションの一覧表示
screen -lsこれにより、現在のscreenセッションのリストが表示されます:
There are screens on:
12345.mysession (Detached)セッションに再接続する
screen -r mysessionまたは、セッションIDを使用します:
screen -r 12345複数のウィンドウで作業する
screenセッション内では、複数のターミナルウィンドウを作成できます。
新しいウィンドウを作成: Ctrl + A、次にC
次のウィンドウに切り替え: Ctrl + A、次にN
前のウィンドウに切り替え: Ctrl + A、次にP
すべてのウィンドウを一覧表示: Ctrl + A、次に ” (ダブルクォート)
各ウィンドウは独自のシェルを実行し、切り離すとすべてバックグラウンドで実行され続けます。
ログと出力
screenセッションから出力をログに記録するには:
screenセッションを開始または入ります。
ログ記録を有効にする:
これにより、現在のディレクトリに
screenlog.0というファイルが作成されます。
セッションを閉じる
セッションを終了するには、screenターミナルで単に
exitと入力します。これにより、シェルが終了し、セッションが閉じられます。
複数のウィンドウがある場合は、すべてのウィンドウを終了するか、次のようにしてセッション全体を閉じる必要があります:
exit各ウィンドウで。
高度なヒント
スクロールバック: Ctrl + A、次にEscを押すと、コピー/スクロールバックモードに入ります。
セッションの共有: 複数のユーザーがマルチユーザーモードを使用して同じセッションに接続できます。
カスタム設定: ~/.screenrcを変更して、個人のショートカットや設定を行います。
結論
screenは、長時間実行されるタスクを管理したり、SSHを介してリモートで作業したりするLinuxユーザーにとって必須のツールです。プロセスを生かし、アクセス可能にするその能力は、開発者、システム管理者、そして愛好者にとって非常に貴重です。
さらに多くの機能を知るにはman screenを探求し、ターミナルでよりスマートに作業を始めましょう!


