👻
Screenコマンド
screen
コマンドの使い方
screen
は、ターミナル上で複数の仮想セッションを管理できるツールです。リモート接続時にセッションを維持したり、複数の作業を並行して進めるのに便利です。
基本操作
セッションの作成・接続・一覧
screen -S mysession # セッション作成
screen -ls # 実行中のセッション一覧
screen -r mysession # デタッチしたセッションに再接続
screen -d -r mysession # 他の場所で接続中のセッションを奪う
セッションの切り離し・終了
screen
内で以下のキーを押す:
- Ctrl + A → D :セッションをデタッチ(切り離し)
- exit :セッションを終了
セッションの削除
不要になった screen
セッションを削除する方法:
screen -X -S mysession quit # 指定したセッションを終了
または、全てのセッションを削除するには:
screen -ls | awk '/Detached/ {print $1}' | xargs -I{} screen -X -S {} quit
screen
内での操作
コマンド | 説明 |
---|---|
Ctrl + A → C |
新しいウィンドウを作成 |
Ctrl + A → N |
次のウィンドウへ移動 |
Ctrl + A → P |
前のウィンドウへ移動 |
Ctrl + A → " |
ウィンドウ一覧を表示 |
Ctrl + A → [ |
スクロールモード |
Ctrl + A → K |
現在のウィンドウを閉じる |
screen
の活用例
リモートサーバーでプロセスを維持
screen -S longprocess
python myscript.py # スクリプト実行
# Ctrl + A → D でデタッチ
切断後も screen -r longprocess
で再接続可能。
複数の作業を並行実行
screen -S multitask
# Ctrl + A → C で新しいウィンドウを作成
# Ctrl + A → N で次のウィンドウへ移動
.screenrc
でのカスタマイズ
設定ファイル ~/.screenrc
を編集すると、快適な環境を構築できます。
defscrollback 5000 # スクロールバッファ増加
hardstatus alwayslastline "%{= kg}Screen: %H | %Lw"
screen
と tmux
の比較
項目 | screen | tmux |
---|---|---|
ウィンドウ管理 | シンプル | 高度(ペイン分割可能) |
マウスサポート | なし | あり |
設定の柔軟性 | 限定的 | 高機能 |
まとめ
-
screen
は仮想ターミナルを管理するツール。 - 長時間実行プロセスを維持し、複数の作業を並行実行可能。
-
Ctrl + A
キーを活用すると効率的に操作できる。
リモート作業やターミナル作業をより快適にしたい人におすすめです。
Discussion