Linux screen

Linuxのscreenコマンドは、複数の仮想ターミナルを管理するための非常に強力なツールです。

新しいscreenセッションを開始する

screenを起動するには、単にscreenコマンドを実行します。

screen

これで新しいscreenセッションが開始され、通常のシェルのように使用できます。

screenセッションに名前を付けて開始する

セッションに名前を付けると、後で再接続するときに識別しやすくなります

screen -S mysession

ここでmysessionはセッションの名前です。

3. screenの基本操作

セッションをデタッチ(切り離し)する

現在のscreenセッションをバックグラウンドに移動させ、元のターミナルに戻るには、次のキーコンビネーションを使用します。

Ctrl + a, d

この操作で、screenセッションは終了せず、バックグラウンドで動作し続けます。

デタッチしたセッションに再接続する

デタッチしたセッションに戻るには、次のコマンドを使用します。

screen -r

もし複数のセッションが存在する場合は、セッションIDや名前を指定して接続します。

screen -r mysession

実行中のscreenセッションの一覧を表示する

現在実行中のscreenセッションを一覧表示するには、次のコマンドを使用します。

screen -ls

screenのウィンドウ管理

新しいウィンドウを作成する

新しい仮想ターミナル(ウィンドウ)を作成するには、次のキーコンビネーションを使用します。
Ctrl + a, c

ウィンドウ間を移動する

次のウィンドウに移動するには、以下のキーコンビネーションを使用します。
Ctrl + a, n

前のウィンドウに戻るには、次のコマンドを使います。
Ctrl + a, p
特定のウィンドウ番号に移動するには、以下のようにします。
Ctrl + a, [ウィンドウ番号]

ウィンドウを名前で識別する

ウィンドウに名前を付けると、識別しやすくなります。ウィンドウの名前を変更するには、以下の手順を行います。
Ctrl + a, A

screenの終了

ウィンドウを終了する

ウィンドウを終了するには、通常のシェルのようにexitコマンドを使います。

exit

screenセッションを終了する

すべてのウィンドウを終了するか、Ctrl + a, \(Ctrlとaを押してから\を押す)でセッション全体を終了します。

screenセッションのログを取る

セッションのすべての出力をログに記録するには、以下のコマンドを使用します。
Ctrl + a, H

ログは現在のディレクトリにscreenlog.0という名前で保存されます。

screenを使った応用的な操作

ターミナルを分割する
ターミナルを水平に分割するには、以下のコマンドを使います。
Ctrl + a, S

垂直に分割するには、以下のコマンドを使用します。
Ctrl + a, |

次に、分割されたターミナル間を移動するには、以下のコマンドを使います。
Ctrl + a, Tab

screenの便利な使い方

リモートサーバーでの作業

リモートサーバーにログインして長時間の処理を実行する場合、screenを使ってセッションを保持することで、ネットワークが切断されても作業が続行されます。これにより、後で再接続して作業を継続できます。

スクリプトのバックグラウンド実行

長時間実行されるスクリプトやプロセスをscreen内で実行することで、プロセスが終了するまで待たなくても良くなります。

まとめ

screenコマンドを使うことで、仮想ターミナルの作成、管理、セッションの保持、ウィンドウ管理などを効率的に行うことができます。特にリモートでの作業や長時間のプロセス実行において、その効果を最大限に発揮します。最初は基本操作に慣れることが大切ですが、使いこなすことでLinuxでの作業が一層快適になります。


この記事が気に入ったらサポートをしてみませんか?