AI

ターミナル多重化比較:tmux vs Zellij vs Screen でターミナルを管理する

オープンソースラボ編集部2026年6月14日

ターミナル多重化比較:tmux vs Zellij vs Screen でターミナルを管理する

⌨️ SSHセッションを切断されてもプロセスを維持し、画面を分割して効率的に作業する「ターミナルマルチプレクサ」。tmux・Zellij・GNU Screenを比較します。

ターミナルマルチプレクサとは

1つのターミナルウィンドウで複数のセッション・ウィンドウ・ペインを管理するツールです。SSHセッションが切断されても作業を継続でき、サーバー上での長時間タスク管理に欠かせません。

主要ツール比較表

項目tmuxZellijGNU Screen
ライセンスISCMITGPL v3
言語CRustC
学習コスト
設定ファイル~/.tmux.conf~/.config/zellij/~/.screenrc
デフォルトUIなし常時表示バーなし
プラグイン◎(TPM)◎(Rust Wasm)
縦横分割
スクロールバック
マウスサポート

各ツールの特徴

tmux

ターミナルマルチプレクサのデファクトスタンダード。高いカスタマイズ性と豊富なプラグインエコシステムが特徴です。

主な特徴:

  • セッション(Session)・ウィンドウ(Window)・ペイン(Pane)の3層構造
  • TPM(tmux Plugin Manager)で無限拡張
  • スクリプトによる自動化が得意
  • ほぼ全てのLinux/macOS環境に標準またはパッケージとして利用可能
# tmux 基本操作
tmux new -s mysession    # 新しいセッション作成
tmux attach -t mysession # セッションに再接続

# prefix(デフォルト: Ctrl+b)+ コマンド
# Ctrl+b c   → 新しいウィンドウ
# Ctrl+b %   → 縦分割
# Ctrl+b "   → 横分割
# Ctrl+b d   → デタッチ(セッション維持)
# Ctrl+b [   → スクロールモード
# ~/.tmux.conf(設定例)
set -g mouse on
set -g default-terminal "screen-256color"
set -g prefix C-a                    # prefixをCtrl+aに変更
bind r source-file ~/.tmux.conf      # r で設定リロード
# ペイン移動をvim風に
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

向いているケース: カスタマイズ重視・スクリプト自動化

Zellij

Rustで書かれたモダンなターミナルマルチプレクサ。起動直後からUIが表示されるため、初心者でも迷いなく使えます。

主な特徴:

  • 起動直後にステータスバーとキーバインドヒントが表示
  • WebAssemblyベースのプラグインシステム
  • レイアウトファイル(YAML/KDL)でペイン配置を事前定義
  • フローティングペイン機能
# インストール
cargo install zellij
# または
brew install zellij

# 基本操作(Ctrl+pがprefix)
zellij          # 起動(UIが自動表示)
zellij attach   # 既存セッションに接続

# レイアウトファイル(~/.config/zellij/layouts/dev.kdl)
layout {
    pane split_direction="vertical" {
        pane command="nvim" { size "60%" }
        pane split_direction="horizontal" {
            pane command="bash"
            pane command="htop"
        }
    }
}

向いているケース: 初心者・モダンUI・Rustユーザー

GNU Screen

1987年誕生の老舗ツール。機能はシンプルですが、ほぼ全てのUnix系OSに標準インストールされており最も可搬性が高いです。

主な特徴:

  • 最も古く最も広く普及
  • AIX・HP-UX・Solarisなど古いUnixでも動作
  • 機能はtmuxより少ないが必要十分
  • バックグラウンドジョブ管理が得意
# 基本操作(Ctrl+aがprefix)
screen -S mysession     # 名前付きセッション作成
screen -r mysession     # 再接続
screen -ls              # セッション一覧

# Ctrl+a + c   → 新しいウィンドウ
# Ctrl+a + "   → ウィンドウ一覧
# Ctrl+a + d   → デタッチ
# Ctrl+a + |   → 縦分割(GNU Screen 4.1+)

向いているケース: 古いUnixサーバー・最小依存・シンプルさ重視

選択ガイド

状況推奨
カスタマイズ・プラグイン重視tmux
初心者・モダンUIZellij
古いUnixサーバー・最小環境GNU Screen

内部リンク

外部リソース

FAQ

Q. tmuxとscreenのセッションは混在して使えますか?

技術的には両方同時に使えますが、プレフィックスキーが混乱するため、どちらか一方に統一することをおすすめします。

Q. Zellijはtmuxより遅いですか?

Rustで書かれており、体感速度はtmuxと同等かそれ以上です。プラグインのWasmロードに多少時間がかかる場合があります。

Q. VSCodeのターミナルでもこれらは使えますか?

はい、VSCodeの統合ターミナル内でtmuxもZellijも動作します。ただしVSCodeの分割機能と重複するため、SSHリモート環境でのみ使うことが多いです。

Q. Docker/Kubernetesのコンテナ内でも使えますか?

Dockerコンテナ内でtmux/screenは使えますが、コンテナはプロセスが終了すると停止するため、通常はホスト上で使います。kubectl exec でのデバッグ時に重宝します。

他の記事も読む

Let's Build Together

OSS導入、自社だけで悩まない。

ツール選定から構築・運用・AI活用まで、オープンソースラボ運営元のClasslessが伴走します。初回のご相談は無料です。