Tmux 快速入門ガイド
ゼロから始める Tmux ターミナルマルチプレクサの学習:基本概念、よく使うコマンド、および Claude Code との深い統合
はじめに
Adoption of tools like Tmux has surged, largely due to the agent team workflows found in command-line coding agent products like Claude Code.
Claude Code の Agent Teams を使ったことがある、あるいは複数の Claude インスタンスを同時に実行したいなら、Tmux はほぼ必須のツールです。1つのターミナルウィンドウで複数のセッションを実行でき、ターミナルを閉じてもセッションはバックグラウンドで動き続け、さらに Claude は Tmux 内で複数の Agent を自動的に生成・管理できます。
このチュートリアルは Claude Code ユーザー向けに設計されており、Tmux の基礎知識と Claude Code との統合テクニックの両方をカバーしています。
Tmux を理解する
ターミナルマルチプレクサ。1つのターミナルウィンドウ内で複数のターミナルセッションを作成・管理できます。コア機能はセッションの永続化——接続を切断してもセッションは動作し続け、再接続後に元の状態に復帰できます。
Tmux の3つのコア概念:
┌─────────────────────────────────────────────────────────┐
│ Session(セッション) │
│ ┌─────────────────────────────────────────────────────┐│
│ │ Window(ウィンドウ) ││
│ │ ┌──────────────┐ ┌──────────────┐ ┌───────────┐ ││
│ │ │ Pane 1 │ │ Pane 2 │ │ Pane 3 │ ││
│ │ │ (Claude 1) │ │ (Claude 2) │ │ (Logs) │ ││
│ │ │ │ │ │ │ │ ││
│ │ │ │ │ │ │ │ ││
│ │ └──────────────┘ └──────────────┘ └───────────┘ ││
│ └─────────────────────────────────────────────────────┘│
│ Window 1: Development Window 2: Testing │
└─────────────────────────────────────────────────────────┘| 概念 | たとえ | 説明 |
|---|---|---|
| Session | ワークスペース | 最上位のコンテナ、接続を切断しても動作し続ける |
| Window | ブラウザタブ | 1つのセッションに複数のウィンドウを含められる |
| Pane | 画面分割 | 1つのウィンドウを複数のペインに分割できる |
インストールと基本
Tmux のインストール
# macOS
brew install tmux
# Ubuntu/Debian/WSL
sudo apt-get install tmux
# CentOS/RHEL
sudo yum install tmuxインストールの確認:
tmux -V
# 出力例:tmux 3.6aプレフィックスキー
Tmux のすべてのコマンドはプレフィックスキーで始まり、デフォルトは Ctrl+B です。
コマンドの入力方法:
Ctrl+Bを押す(離さない)- 離した後、コマンドキーを押す
例えば、ウィンドウの分割:Ctrl+B の後に % を押す
よく使うコマンドのクイックリファレンス
セッション管理
| コマンド | 説明 |
|---|---|
tmux | 新しいセッションを作成 |
tmux new -s name | 名前付きセッションを作成 |
tmux ls | すべてのセッションを一覧表示 |
tmux attach -t name | セッションに接続 |
tmux kill-session -t name | セッションを終了 |
Ctrl+B d | 現在のセッションをデタッチ(バックグラウンドで実行) |
ウィンドウ管理
| ショートカット | 説明 |
|---|---|
Ctrl+B c | 新しいウィンドウを作成 |
Ctrl+B n | 次のウィンドウ |
Ctrl+B p | 前のウィンドウ |
Ctrl+B 0-9 | 指定のウィンドウに切り替え |
Ctrl+B , | 現在のウィンドウの名前を変更 |
Ctrl+B & | 現在のウィンドウを閉じる |
ペイン管理
| ショートカット | 説明 |
|---|---|
Ctrl+B % | 垂直分割(左右) |
Ctrl+B " | 水平分割(上下) |
Ctrl+B 矢印キー | ペイン間を移動 |
Ctrl+B x | 現在のペインを閉じる |
Ctrl+B z | ペインを最大化/復元 |
Ctrl+B { | ペインを左に移動 |
Ctrl+B } | ペインを右に移動 |
その他のよく使うもの
| ショートカット | 説明 |
|---|---|
Ctrl+B [ | コピーモードに入る(スクロール可能) |
q | コピーモードを終了 |
Ctrl+B ? | すべてのショートカットキーを表示 |
Claude Code との統合
なぜ Claude Code に Tmux が必要なのか
- Agent Teams の Split-pane モード:各 Teammate が独立したペインに表示
- バックグラウンド実行:ターミナルを閉じてもタスクが実行し続ける
- セッションの永続化:切断後に再接続で完全なコンテキストを復元
- マルチインスタンス管理:複数の Claude セッションを同時に実行
基本的な使い方:Claude をバックグラウンドで実行
# tmux 内で Claude を起動
tmux new -s claude-work
claude
# セッションをデタッチ(Claude は動き続ける)
# Ctrl+B d
# 後で再接続
tmux attach -t claude-work--tmux パラメータの使用
Claude Code は Tmux 統合をネイティブサポートしています:
# 新しい tmux セッション内で Claude を起動
claude --tmux
# worktree と組み合わせて使用
claude -w feature-auth --tmuxこれにより自動的に:
- 新しい tmux セッションを作成
- その中で Claude Code を起動
- セッション名を
claude-{ランダムID}とする
Agent Teams の Tmux モード
Agent Teams は split-pane 表示モードを使用でき、各 Teammate が独立したペインで動作します:
// settings.json
{
"teammateMode": "tmux"
}またはコマンドラインで:
claude --teammate-mode tmux効果:
┌─────────────────────────────────────────────────────────┐
│ Team Lead │
├─────────────────┬─────────────────┬─────────────────────┤
│ Teammate 1 │ Teammate 2 │ Teammate 3 │
│ Security │ Performance │ Testing │
│ │ │ │
└─────────────────┴─────────────────┴─────────────────────┘実用的な設定
推奨の ~/.tmux.conf
~/.tmux.conf を作成または編集:
# Ctrl+A をプレフィックスキーとして使用(押しやすい)
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# マウスサポートを有効化
set -g mouse on
# 履歴バッファを増やす(Claude は大量に出力する)
set -g history-limit 50000
# vim スタイルのペインナビゲーション
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# より直感的な分割ショートカット
bind | split-window -h
bind - split-window -v
# 設定の即時リロード
bind r source-file ~/.tmux.conf \; display "Config reloaded!"
# 256色サポート
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",*256col*:Tc"
# ウィンドウ番号を1から開始(0は遠すぎる)
set -g base-index 1
setw -g pane-base-index 1
# ステータスバーの最適化
set -g status-position bottom
set -g status-left-length 40
set -g status-right-length 60設定のリロード:
tmux source-file ~/.tmux.confClaude Code 専用設定
Claude Code 向けの最適化設定:
# Claude セッションポップアップのショートカット
bind -r y run-shell '\
SESSION="claude-$(echo #{pane_current_path} | md5sum | cut -c1-8)"; \
tmux has-session -t "$SESSION" 2>/dev/null || \
tmux new-session -d -s "$SESSION" -c "#{pane_current_path}" "claude"; \
tmux display-popup -w80% -h80% -E "tmux attach-session -t $SESSION"'この設定の効果:
Ctrl+A yで Claude ポップアップを開く- 各ディレクトリに独立した Claude セッション
- ポップアップを閉じてもセッションは動作し続ける
- 再度開くと前の会話を復元
よくあるワークフロー
ワークフロー1:マルチプロジェクト並行
# 各プロジェクトに独立したセッションを作成
tmux new -s project-a
# 中で Claude を起動
claude -w feature-x
# デタッチ後、別のセッションを作成
# Ctrl+B d
tmux new -s project-b
claude -w bugfix-y
# セッション間を切り替え
tmux switch -t project-a
tmux switch -t project-b
# またはすべてのセッションを一覧から選択
# Ctrl+B sワークフロー2:開発ダッシュボード
マルチペインの開発環境を作成:
# セッションを作成
tmux new -s dev
# 3つのペインに分割
# Ctrl+B %(垂直分割)
# Ctrl+B "(右側を水平分割)
# ペインレイアウト:
# ┌───────────┬───────────┐
# │ Claude │ Logs │
# │ ├───────────┤
# │ │ Tests │
# └───────────┴───────────┘
# 最初のペインで Claude を実行
claude
# 2番目のペインに切り替え(Ctrl+B 右矢印)
tail -f logs/app.log
# 3番目のペインに切り替え
npm test -- --watchワークフロー3:リモート開発
Tmux の最も強力な機能はセッションの永続化であり、SSH リモート開発に特に適しています:
# リモートサーバーに接続
ssh user@server
# tmux セッションを作成
tmux new -s remote-claude
# Claude を起動
claude
# SSH 接続を切断(Claude は動き続ける)
# Ctrl+B d
exit
# 後で再接続
ssh user@server
tmux attach -t remote-claude
# Claude セッションが完全に復元ワークフロー4:Agent Teams の監視
tmux で Agent Teams のすべての Teammates を監視:
# Claude を起動して tmux モードを使用
claude --teammate-mode tmux
# Agent Team を作成
# "agent team を作成してコードをレビューして..."
# この時点で画面が自動分割され、各 Teammate が1つのペイン
# 異なるペインをクリックして対応する Teammate と直接コミュニケーション可能トラブルシューティング
よくある問題
| 問題 | 解決策 |
|---|---|
| 色の表示が正しくない | TERM=xterm-256color を確認 |
| マウスが動作しない | 設定に set -g mouse on を追加 |
| コピー&ペーストの問題 | コピーモードで Enter を使用してコピー |
| セッションが消えた | tmux ls を確認、システム再起動の可能性 |
孤立セッションのクリーンアップ
Claude Code は時々、未クリーンアップの tmux セッションを残すことがあります:
# すべてのセッションを一覧表示
tmux ls
# 特定のセッションを終了
tmux kill-session -t session-name
# すべてのセッションを終了(注意!)
tmux kill-serveriTerm2 ユーザー
macOS の iTerm2 を使用している場合は、ネイティブ統合を使用できます:
# iTerm2 の tmux 統合モードを使用
tmux -CC
# または Claude Code で
claude --teammate-mode tmuxiTerm2 は tmux ペインを自動的にネイティブタブとスプリットスクリーンに変換します。
私の使用感
いつ Tmux を使うか
| シナリオ | Tmux は必要か |
|---|---|
| シンプルな単発の Claude 会話 | 不要 |
| 長時間実行されるタスク | 必要 |
| Agent Teams | 強く推奨 |
| リモート開発 | 必須 |
| マルチプロジェクト並行 | 推奨 |
最小構成
設定をいじりたくなければ、これらのコマンドだけ覚えてください:
# セッションを作成
tmux new -s work
# デタッチ(バックグラウンド実行)
Ctrl+B d
# 再接続
tmux attach -t work
# ペインを分割
Ctrl+B % # 左右分割
Ctrl+B " # 上下分割
# ペインを切り替え
Ctrl+B 矢印キーClaude Code との最良の組み合わせ
-
Worktree + Tmux:各 worktree を独立した tmux セッション内で
claude -w feature-auth --tmux -
Agent Teams + Tmux:すべての Teammates を可視化して管理
claude --teammate-mode tmux -
長時間タスク + デタッチ:起動後にデタッチし、後でチェック
# 起動 tmux new -s migration claude # "データベースマイグレーションを実行して..." # Ctrl+B d # 数時間後 tmux attach -t migration
おわりに
Tmux は Claude Code を効率的に使うための重要なツールであり、特に以下のシナリオで威力を発揮します:
| ポイント | 説明 |
|---|---|
| 永続化 | 接続を切断してもセッションが失われない |
| 並行 | 複数の Claude インスタンスを同時に管理 |
| 可視化 | Agent Teams の split-pane 表示 |
3つのコアコマンドで始められます:
tmux new -s nameセッション作成Ctrl+B dセッションのデタッチtmux attach -t name再接続
関連記事:
- Claude Agent Teams 完全ガイド — Agent Teams には Tmux の split-pane モードサポートが必要
- Claude Worktree 完全ガイド — Worktree は Tmux と組み合わせてバックグラウンドで実行可能
参考資料:
- Tmux Wiki - Getting Started
- A Quick and Easy Guide to tmux
- Red Hat - A beginner's guide to tmux
- How to run Claude Code in a Tmux popup window
- Claude Code + tmux: The Ultimate Terminal Workflow
動画チュートリアル:
- Tmux Basics Tutorial — Tmux 基礎入門
- Tmux + Claude Code Workflow — Claude Code との統合ワークフロー
- Advanced Tmux Configuration — 高度な設定テクニック