記事一覧に戻る

【tmux入門】実践ガイド|SSH×tmuxでリモート開発を劇的に快適にする

(更新: 2026年3月21日)

この記事は「モバイルSSH完全ガイド」のクラスター記事です。モバイルSSHの全体像はガイドをご覧ください。

はじめに

SSH でリモートサーバーに接続して作業中、ネットワークが切れた瞬間にすべてが吹き飛んだ——そんな経験はありませんか?

長時間かかるビルドやテスト、AI コーディングツールの実行中に接続が途切れると、最初からやり直し。これは SSH を使ったリモート開発における最大の悩みのひとつです。

tmux を使えば、この問題を根本から解決できます。

本記事では、tmux の基本操作から SSH と組み合わせた実践的なワークフローまで、リモート開発を快適にするための知識を体系的に解説します。


tmux とは?

tmux(Terminal MUltipleXer)は、ひとつのターミナル内で複数のセッションを管理できるツールです。

tmux を使うと、以下のことが可能になります。

  • セッションの永続化: ターミナルを閉じてもプロセスが動き続ける
  • 画面分割: ひとつの画面を複数のペインに分割して同時作業
  • セッションの切り替え: 複数の作業環境を瞬時に切り替え
  • デタッチ&アタッチ: セッションを切断して、後から再接続

特に SSH 接続と組み合わせた場合、tmux は「なくてはならない存在」になります。

tmux がない世界 vs ある世界

シナリオtmux なしtmux あり
SSH 接続が切れたプロセス終了。作業やり直しセッション継続。再接続するだけ
長時間タスクを実行中PC の前に張り付く必要ありデタッチして放置 OK
ログを見ながらコード編集ターミナルを複数開く画面分割で 1 画面に収まる
複数プロジェクトを同時進行ウィンドウが大量に散らかる名前付きセッションで整理

tmux のインストール

Linux

# Ubuntu / Debian
sudo apt install tmux

# Fedora / RHEL
sudo dnf install tmux

# Arch Linux
sudo pacman -S tmux

macOS

brew install tmux

Windows(WSL 経由)

Windows で tmux を使うには WSL(Windows Subsystem for Linux)を経由します。

# WSL 内で
sudo apt install tmux

インストールできたら、バージョンを確認しておきましょう。

tmux -V
# tmux 3.x

tmux の基本概念 — セッション・ウィンドウ・ペイン

tmux を使いこなすには、3 つの階層構造を理解することが重要です。

セッション(Session)
├── ウィンドウ(Window)
│   ├── ペイン(Pane)
│   └── ペイン(Pane)
└── ウィンドウ(Window)
    └── ペイン(Pane)
概念説明イメージ
セッションtmux の最上位単位。作業の「プロジェクト」ブラウザのウィンドウ
ウィンドウセッション内のタブ。画面全体を使うブラウザのタブ
ペインウィンドウ内の分割領域画面の分割表示

基本操作:まずはこれだけ覚えよう

プレフィックスキー

tmux の操作は、まずプレフィックスキーを押してからコマンドキーを押す、という 2 段階方式です。

デフォルトのプレフィックスキーは Ctrl+B です。

以下、Ctrl+BD のような表記は「Ctrl+B を押してから離し、その後 D を押す」という意味です。

セッション操作

# 新しいセッションを作成
tmux

# 名前を付けてセッション作成(おすすめ!)
tmux new -s 作業名

# セッションをデタッチ(切断。プロセスは動き続ける)
# Ctrl+B → D

# セッション一覧を表示
tmux ls

# セッションにアタッチ(再接続)
tmux attach -t 作業名

# セッションを終了
tmux kill-session -t 作業名

ポイント: セッションには必ず名前を付けましょう。tmux new -s dev のように名前を付けておけば、後から tmux attach -t dev で迷わず再接続できます。

ウィンドウ操作

キー操作
Ctrl+BC新しいウィンドウを作成
Ctrl+BN次のウィンドウに移動
Ctrl+BP前のウィンドウに移動
Ctrl+B数字指定番号のウィンドウに移動
Ctrl+B,現在のウィンドウをリネーム
Ctrl+B&現在のウィンドウを閉じる

ペイン操作(画面分割)

キー操作
Ctrl+B%画面を縦に分割(左右)
Ctrl+B"画面を横に分割(上下)
Ctrl+B矢印キーペイン間を移動
Ctrl+BX現在のペインを閉じる
Ctrl+BZ現在のペインを全画面表示/解除
Ctrl+BSpaceペインのレイアウトを切り替え

実践:SSH × tmux のワークフロー

ここからが本題です。tmux の真価は SSH と組み合わせたときに発揮されます。

基本パターン:デタッチ&アタッチ

# 1. SSH でリモートサーバーに接続
ssh myserver

# 2. tmux セッションを開始
tmux new -s work

# 3. 作業を行う(ビルド、テスト、AI ツール実行など)
npm run build

# 4. セッションをデタッチ(Ctrl+B → D)
#    → SSH を切断しても、ビルドは裏で動き続ける

# 5. 後から再接続
ssh myserver
tmux attach -t work
#    → ビルド結果がそのまま表示される!

これが tmux の最も基本的かつ強力な使い方です。ネットワークが切れても、PCを閉じても、プロセスは生き続けます

実践パターン:画面分割で効率アップ

リモートサーバーでの作業では、ログを見ながらコマンドを打つ場面が頻繁にあります。

# tmux セッションを開始
tmux new -s dev

# 画面を横に 2 分割
# Ctrl+B → "

# 上のペイン: ログを流す
tail -f /var/log/app.log

# 下のペインに移動(Ctrl+B → ↓)して作業
vim app.py

3 分割にしてさらに効率を上げることもできます。

# 画面を 3 分割する例
# Ctrl+B → "       ← 横分割
# Ctrl+B → %       ← 下半分を縦分割

# 上: アプリのログ
# 左下: コード編集
# 右下: git 操作やテスト実行

実践パターン:複数セッションの並行管理

大規模な開発では、フロントエンド・バックエンド・データベースなど複数の作業を並行して進めることがあります。

# フロントエンド用セッション
tmux new -s frontend
cd ~/project/frontend
npm run dev
# Ctrl+B → D

# バックエンド用セッション
tmux new -s backend
cd ~/project/backend
python manage.py runserver
# Ctrl+B → D

# セッション一覧を確認
tmux ls
# backend: 1 windows (created ...)
# frontend: 1 windows (created ...)

# バックエンドの様子を見たい
tmux attach -t backend

セッション間の切り替えも簡単です。

キー操作
Ctrl+BSセッション一覧を表示して選択(おすすめ
Ctrl+BL直前のセッションに戻る
Ctrl+B)次のセッションに移動
Ctrl+B(前のセッションに移動

特に Ctrl+BS はセッション一覧がツリー表示され、各セッションの内容をプレビューしながら選べるので非常に便利です。


AI コーディングツール × tmux — 寝ている間も開発が進む

tmux が最も威力を発揮するユースケースのひとつが、AI コーディングツールとの組み合わせです。

Claude Code などのエージェント型 AI ツールは、指示を出すと自律的にコードを書き続けます。しかし SSH 接続が切れるとプロセスごと終了してしまう——tmux があれば、この問題は完全に解消されます。

基本:tmux + Claude Code

# SSH でリモートマシンに接続
ssh mypc

# Claude Code 用のセッションを作成
tmux new -s claude

# Claude Code を起動
cd ~/my-project
claude

# タスクを投げる
> プロジェクト全体のテストカバレッジを80%以上にしてください

# セッションをデタッチ(Ctrl+B → D)
# → Claude Code はバックグラウンドで動き続ける!

翌朝、再接続して結果を確認するだけ。

ssh mypc
tmux attach -t claude
# → テストが書き上がっている!

応用:複数の AI を同時に走らせる

# リファクタリング担当
tmux new -s refactor
claude
> src/ ディレクトリのリファクタリングをしてください
# Ctrl+B → D

# テスト生成担当
tmux new -s tests
claude
> テストカバレッジを80%以上にしてください
# Ctrl+B → D

# ドキュメント生成担当
tmux new -s docs
claude
> API ドキュメントを自動生成してください
# Ctrl+B → D

# 進捗確認
tmux ls
# docs: 1 windows (created ...)
# refactor: 1 windows (created ...)
# tests: 1 windows (created ...)

# Ctrl+B → S でセッション一覧から切り替えて確認

3 つの AI が並行して作業を進め、自分は結果を確認するだけ。この開発スタイルは tmux なしでは実現できません

Tips:tmux のペイン分割で AI を監視

tmux new -s monitor

# 画面を 3 分割(Ctrl+B → " → Ctrl+B → %)
# 上のペイン: Claude Code が動いている
# 左下: git log --oneline でコミット状況を監視
# 右下: htop でシステムリソースを監視

AI がリソースを使いすぎていないか、どのファイルが変更されたかをリアルタイムで把握できます。


tmux をカスタマイズする

デフォルトの tmux でも十分使えますが、設定ファイル ~/.tmux.conf をカスタマイズすると格段に快適になります。

おすすめの基本設定

# ~/.tmux.conf

# プレフィックスキーを Ctrl+A に変更(お好みで)
# set -g prefix C-a
# unbind C-b
# bind C-a send-prefix

# マウス操作を有効化
set -g mouse on

# ペイン分割のキーバインドをわかりやすく
bind | split-window -h    # | で縦分割
bind - split-window -v    # - で横分割

# ペイン移動を vim 風に
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# ウィンドウ番号を 1 から始める
set -g base-index 1
setw -g pane-base-index 1

# 256 色対応
set -g default-terminal "screen-256color"

# ステータスバーのカスタマイズ
set -g status-style 'bg=#333333 fg=#ffffff'
set -g status-left '[#S] '
set -g status-right '%Y-%m-%d %H:%M'

# 履歴のバッファサイズを増やす
set -g history-limit 10000

設定ファイルを変更したら、tmux 内で以下を実行して反映します。

tmux source-file ~/.tmux.conf

マウス操作を有効にする理由

set -g mouse on を設定すると、以下の操作がマウスで可能になります。

  • ペインのクリックで移動
  • ペインの境界をドラッグしてリサイズ
  • スクロールでログを遡る

特にスクロールは、長いログを確認する際に重宝します。


tmux のよく使うコマンド早見表

セッション

コマンド / キー操作
tmux new -s 名前名前付きセッション作成
Ctrl+BDデタッチ
tmux lsセッション一覧
tmux attach -t 名前アタッチ
tmux kill-session -t 名前セッション終了
Ctrl+BSセッション切り替え(一覧)
Ctrl+B$セッションをリネーム

ウィンドウ

コマンド / キー操作
Ctrl+BC新規ウィンドウ
Ctrl+BN / P次 / 前のウィンドウ
Ctrl+B数字番号でジャンプ
Ctrl+B,リネーム
Ctrl+BWウィンドウ一覧(選択)

ペイン

コマンド / キー操作
Ctrl+B"横分割
Ctrl+B%縦分割
Ctrl+B矢印ペイン移動
Ctrl+BZ全画面表示 / 解除
Ctrl+BXペインを閉じる
Ctrl+B{ / }ペイン位置を入れ替え

コピーモード

tmux にはターミナルの出力をスクロールして確認・コピーするコピーモードがあります。

コマンド / キー操作
Ctrl+B[コピーモードに入る
/ / PgUp / PgDnスクロール
Qコピーモードを抜ける

ログが流れていってしまった内容を確認したいときに便利です。


トラブルシューティング

「セッションが見つからない」と言われる

$ tmux attach -t work
no session: work

tmux ls でセッション名を確認しましょう。サーバーが再起動されると tmux セッションも消えるので注意。

ネストした tmux が起動できない

SSH 先で tmux を起動しようとして「sessions should be nested with care」と言われる場合、既にローカルで tmux を使っているかもしれません。

# ローカルの tmux 内から SSH 先の tmux を操作する場合
# プレフィックスキーを 2 回押す(Ctrl+B → Ctrl+B)でリモート側に送信

画面が崩れる

ターミナルのリサイズ後に表示が崩れることがあります。

# ウィンドウサイズを再調整
# Ctrl+B → :
# resize-window -A

スマホから tmux を使うなら — SSH Term

開示: 筆者はSSH Termの開発者です。tmuxをスマホから操作する際の課題(特殊キー入力、日本語入力)を解決するために開発しました。

ここまで読んで「tmux 便利そう! スマホからも使いたい」と思った方もいるのではないでしょうか。

実は、スマホからの tmux 操作にはいくつかの壁があります。

  • Ctrl+B が打てない: ソフトウェアキーボードには Ctrl キーがない
  • 日本語入力ができない: ほとんどの SSH アプリはターミナル内で IME が効かない
  • 接続が切れやすい: アプリを切り替えただけで SSH が切断されることも

これらの課題を解決するために作ったのが、モバイル SSH クライアントアプリ SSH Term です。

SSH Term の特徴

  • アシストバー: Ctrl+BCtrl+CTabEsc などの特殊キーを画面下部のバーからワンタップで入力。tmux のプレフィックスキーも楽々
  • IME モード: スマホの日本語キーボードがそのまま使える。Claude Code に日本語で指示を出すのも快適
  • バックグラウンド接続維持: 他のアプリに切り替えても SSH 接続を維持。tmux のデタッチ忘れも安心
  • SFTP ファイルブラウザ内蔵: AI が生成したファイルをその場で確認可能
  • ワンタップ鍵生成: Ed25519 鍵ペアの生成から公開鍵コピーまでアプリ内で完結

通勤中にスマホから SSH で自宅 PC に接続し、tmux セッションにアタッチして Claude Code の進捗を確認する——そんなワークフローが SSH Term なら快適に実現できます。

SSH Term を Google Play でダウンロード

Android の SSH クライアント選びについては、こちらの記事で詳しく比較しています。

【2026年最新】Android SSHクライアントおすすめ5選


まとめ

項目ポイント
tmux とはターミナルのセッション管理ツール
最大の強みSSH 接続が切れてもプロセスが生き続ける
基本操作tmux new -s 名前 → 作業 → Ctrl+BDtmux attach -t 名前
画面分割Ctrl+B" で横分割、% で縦分割
AI ツール連携tmux + Claude Code で寝ている間も AI が開発を進める
カスタマイズ~/.tmux.conf でキーバインドや見た目を調整
スマホからSSH Term なら特殊キーも日本語入力も快適

tmux は一度覚えてしまえば、SSH を使ったリモート開発の生産性が劇的に向上するツールです。特に AI コーディングツールと組み合わせた「タスクを投げてデタッチ、後から確認」のワークフローは、tmux なしでは実現できません。

まずは tmux new -s test でセッションを作って、Ctrl+BD でデタッチ、tmux attach -t test で再接続——この 3 ステップを試してみてください。tmux の便利さが体感できるはずです。


関連記事