概要
screenは、ターミナルセッションをバックグラウンドで維持し、複数のセッションを作成・切り替え、セッション共有まで可能な強力なツールです。特にSSH接続が切断されても作業が中断されないようにする場合に役立ち、一つのターミナルウィンドウで複数の仮想ターミナルを使用するのと同様です。
主な機能
- セッションの切り離しと再接続 (Detaching and Reattaching)
- マルチウィンドウ管理 (Multiple Windows)
- セッション共有 (Session Sharing)
- ログ記録 (Logging)
- スクロールバックバッファ (Scrollback Buffer)
主なオプション
screenコマンド実行時に使用される主なオプションと、screenセッション内で使用される主なショートカットキーを説明します。
コマンド実行オプション
セッション内ショートカットキー (Ctrl+a プレフィックス)
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`screen` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
screenコマンドの様々な活用例です。
新規screenセッション開始
screen
最も基本的な使い方で、新しいscreenセッションを開始します。
名前を指定してセッション開始
screen -S my_long_running_task
セッションに名前を付けることで、後で簡単に識別し再接続できます。
セッション切り離し (Detach)
screen -d <session_name_or_pid>
screenセッション内でCtrl+a dを押してセッションを切り離し、ターミナルに戻ります。または、外部から実行中のセッションを強制的に切り離すこともできます。
セッション再接続 (Reattach)
screen -r
切り離されたセッションに再接続します。セッションが一つだけの場合は自動的に接続されます。
名前で特定セッション再接続
screen -r my_long_running_task
指定した名前のセッションに再接続します。
実行中セッション一覧表示
screen -ls
現在アクティブなscreenセッションの一覧を確認します。
セッション強制終了
screen -X <session_name_or_pid> quit
不要になったセッションを強制的に終了します。(注意: 作業が中断される可能性があります)
インストール
GNU Screenは、ほとんどのLinuxディストリビューションにデフォルトで含まれているか、パッケージマネージャを通じて簡単にインストールできます。
Debian/Ubuntu
sudo apt update && sudo apt install screen
APTパッケージマネージャを使用してインストールします。
CentOS/RHEL/Fedora
sudo yum install screen
# または
sudo dnf install screen
YUMまたはDNFパッケージマネージャを使用してインストールします。
Arch Linux
sudo pacman -S screen
Pacmanパッケージマネージャを使用してインストールします。
ヒントと注意点
screen使用時の役立つヒントと注意点です。
.screenrc ファイルの活用
ユーザーのホームディレクトリにある`.screenrc`ファイルを通じて、screenのデフォルト設定をカスタマイズできます。例えば、デフォルトシェル、スクロールバックバッファサイズ、ステータスバーなどを設定できます。
- 場所: ~/.screenrc
- 設定例: defscrollback 10000 caption always '%{= gk}%H %L=%-w%?%F%fn%W%? %t %{-}%+w %-= %D %m/%d %C%a'
Ctrl+a プレフィックスの記憶
screenのすべての内部コマンドは、デフォルトでCtrl+aをプレフィックスとして使用します。この組み合わせを覚えることがscreen使用の鍵となります。もしCtrl+aが他のプログラムと競合する場合は、`.screenrc`で別のプレフィックスに変更できます(例: `escape ^Jj`でCtrl+jに変更)。
セッション名指定の重要性
`screen -S
スクロールバックバッファの使用
Ctrl+a [ を押してスクロールモードに入り、矢印キーまたはPageUp/PageDownキーで以前の出力を確認できます。qを押してスクロールモードを終了します。