VPSやリモートサーバーでの作業はもちろん、ローカルPCのターミナル操作でも、こんな経験や悩みはありませんか?
- 時間のかかる処理(ビルドやバックアップ)の途中でSSH接続が切れ、最初からやり直しになった
- ログを「tail -f」で監視しながら、同じ画面ですぐに別のコマンドも実行したい
- 作業ごとにターミナルのウィンドウやタブを開きすぎて、どこで何をしていたか分からなくなる
これらの悩みを一気に解決してくれる便利なツールが、ターミナルマルチプレクサの「tmux」(ティーマックス) です。
「tmux」を導入すると、リモート接続が切断されてもバックグラウンドで処理を継続できるだけでなく、1つの画面を自由に分割してマルチタスクを快適に行えるようになります。
さらに、作業画面(レイアウトや開いているディレクトリ)をセッションとして丸ごと保持できるため、ローカル開発環境の作業効率も劇的にアップします。
この記事では、「tmux」の基本概念から必須コマンド、画面分割やセッションの扱い方、作業効率が劇的に上がるおすすめ初期設定までを分かりやすく解説します。
tmuxとは?使うメリット
「tmux」は、1つのターミナル画面の中で複数の仮想端末を立ち上げたり、画面を分割して並行作業を行ったりできるツールです。
Ubuntuでサーバー管理や開発を行う上で、tmuxには大きな2つのメリットがあります。
セッションの永続化(SSHが切断されても処理が継続される)
通常のSSH接続では、接続が途切れると実行中のプログラムも強制終了してしまいます。
しかし、tmuxの「セッション」内で実行しておけば、SSHが切断されたりPCを閉じたりしても、サーバー側で処理が動き続けます。
後からいつでも元の作業画面に再接続(アタッチ)して復帰できます。
画面分割&タブ管理
1つのウィンドウ内で画面を上下・左右に何分割でもできます。
「左画面でソースコードを編集し、右画面でWebサーバーを起動し、下画面でログを流す」といった作業が1つのターミナルだけで完結します。
tmuxの3つの階層構造と「プレフィックスキー」
tmuxをスムーズに使いこなすための最重要ポイントは 「3つの階層構造」 と 「プレフィックスキー」(Prefix Key) の2つです。
tmuxを構成する3つの階層構造
tmuxは、作業環境を以下の3つの階層で整理・管理しています。
セッション (Session) ── 作業環境の全体(SSH切断でも維持される単位)
└── ウィンドウ (Window) ── 1つの画面全体(ブラウザの「タブ」のようなもの)
└── ペイン (Pane) ── ウィンドウを分割した「個別のターミナル画面」
- セッション (Session)
-
作業全体をまとめる一番大きな単位で、プロジェクトごとに名前をつけて作成・保存でき、SSH接続が切断されてもサーバー上でそのまま保持されます。
- ウィンドウ (Window)
-
セッションの中に作成する仮想画面で、Webブラウザの「タブ」のように画面全体を丸ごと別の作業画面へ切り替えることができます。
- ペイン (Pane)
-
1つのウィンドウを縦や横に分割した、個別のターミナル領域です。
ログを監視しながら別のペインでコマンドを実行するなど、マルチタスクに大活躍します。
操作の要「プレフィックスキー(Prefix Key)」
tmuxの画面内で画面分割やウィンドウ切り替えなどの操作を行うときは、まず「プレフィックスキー(合図となる特別なキー)」最初に入力する」という、独特の操作体系になっています。
デフォルトのプレフィックスキーは 「Ctrl」+「b」 です。
操作のコツ・入力手順
tmuxのコマンド操作は、キーを「同時に長押し」するのではなく、「プレフィックスキーを入力してからコマンドキーを押す」 のがポイントです。
- 「Ctrl」キーを押しながら「b」キーを押す
- 両方のキーを一度完全に指から離す
- 目的の操作キー(例: 画面縦分割なら %、新規ウィンドウなら c)を押す
ワンポイント
最初は「Ctrl + b」を押した後に画面に何も変化が起きないため戸惑うかもしれませんが、tmuxは次のキー入力を待機している状態になっています。
慌てずに次のキーを押せば大丈夫です!
tmuxのインストール
Ubuntuでは標準パッケージとして提供されているため、「apt」で簡単にインストールできます。
sudo apt update sudo apt install tmux -y
インストールが完了したら、バージョンを確認してみましょう。(Vは大文字です)
$ tmux -V tmux 3.4
tmux 3.4 などのバージョンが表示されればOKです。
基本操作 1:セッションの管理(シェルから実行)
まずは、tmuxの外側(通常のシェルプロンプト)からセッションを作成・確認・復帰・削除する基本コマンドです。
| 操作内容 | コマンド |
|---|---|
| 名前なしでセッション開始 | tmux |
| 名前付きでセッション開始(推奨) | tmux new -s <セッション名> |
| セッション一覧を表示 | tmux ls |
| 既存のセッションに再接続(アタッチ) | tmux a -t <セッション名> |
| 最後に使ったセッションに再接続 | tmux a |
| 指定したセッションを削除(終了) | tmux kill-session -t <セッション名> |
| すべてのセッションを一括削除 | tmux kill-server |
名前無しでセッションを開始すると、セッション名は連番(0,1 ...)になります。
実践:セッションを作って抜けて戻る(デタッチとアタッチ)
tmuxの真骨頂である「セッション作成 → 一時離脱(デタッチ) → 再接続(アタッチ)」の一連の流れを実際に試してみます。
ステップ1:名前付きセッションを新規作成する
作業内容が分かりやすいように、-s オプションで名前をつけてセッションを開始します。
tmux new -s work
画面下に緑色のステータスバーが表示され、tmuxのセッション内に入ったことが確認できます。
ステップ2:セッションから一時離脱する(デタッチ)
セッション内で処理を実行したまま、一度tmuxの外(通常のターミナル)へ戻りたいときは 「デタッチ(Detach)」 を行います。
- キー操作: 「Ctrl」+「b」を押した後に「d」 (Detach)
[detached (from session work)] $
通常のシェルプロンプトに戻り、[detached (from session work)] と表示されます。
なお、tmux内部のプロセスはバックグラウンドで動き続けています。
ステップ3:稼働中のセッション一覧を確認する
「tmux ls」コマンドを実行すると、現在稼働中のセッションを表示することが出来ます。
$ tmux ls work: 1 windows (created Mon Aug 24 13:04:25 2026)
先ほど作成した 「work」セッションがしっかり保持されていることが確認できます。
ステップ4:セッションに再接続する(アタッチ)
先程デタッチした「work」セッションに再度戻る(アタッチする)には、「-t(セッション名)」オプションでセッション名を指定して実行します。
$ tmux a -t work
これで先ほどの作業画面に復帰できます。
Tips
- 「tmux a」は「tmux attach-session」短縮形です。
- 日常の運用では、打ちやすくて短い「tmux a -t セッション名」が最もよく使われます。
- もしセッションが1つしか存在しない場合は、「tmux a」だけでそのセッションにアタッチできます。
基本操作 2:画面分割と操作(ペイン操作)
tmuxのセッションに入ったら、画面を自由に分割してマルチタスク環境を作ってみましょう。
操作はすべて、プレフィックスキー(Ctrl + b)を押して指を離してから、目的のキーを押す流れになります。
| 操作内容 | ショートカットキー | 覚え方 |
|---|---|---|
| 左右(垂直)に分割 | 「Ctrl + b」 → 「%」 | 「%」 の記号が左右に分かれているイメージ |
| 上下(水平)に分割 | 「Ctrl + b」 → 「"」 | 「"」 で上下を区切るイメージ |
| ペイン間の移動 | 「Ctrl + b」 → 「矢印キー (↑ ↓ ← →)」 | 移動したい方向の矢印を押す |
| ペインを順番に移動 | 「Ctrl + b」 → 「o」 | other(次のペイン) |
| ペインの最大化 / 元に戻す | 「Ctrl + b」 → 「z」 | zoom(一時的に画面いっぱいに広げる) |
| ペイン番号を表示してジャンプ | 「Ctrl + b」 → 「q」 | 番号が表示されている間に数字キーを押す |
| 現在のペインを閉じる | 「Ctrl + b」 → 「x」(確認で 「y」) | 通常通り 「exit」 コマンドでも閉じられます |
おすすめテクニック:「Ctrl + b」 → 「z」(ズーム機能)
画面を4分割など細かく分けて作業していると、「一時的にログを広い画面で見たい」「コードを全画面で確認したい」という場面がよくあります。
そんなときは、拡大したいペインで 「Ctrl + b」 → 「z」 を押すと画面全体に拡大され、もう一度 「Ctrl + b」 → 「z」 を押すと元の分割状態に戻ります。
分割状態を崩さずに集中して作業できるため、日常的に重宝する便利な機能です。
基本操作 3:タブ管理(ウィンドウ操作)
ペインを細かく分割しすぎると1画面が見づらくなります。
そんなときはWebブラウザのタブのように、画面全体を切り替えられる 「ウィンドウ」 を使うと快適に作業することが出来ます。
操作はペインのときと同様に、「Ctrl + b」 を押して指を離してから、目的のキーを押してください。
| 操作内容 | ショートカットキー | 備考 |
|---|---|---|
| 新しいウィンドウを作成 | 「Ctrl + b」 → 「c」 | create(新しいタブを作成) |
| 次のウィンドウへ移動 | 「Ctrl + b」 → 「n」 | next(次へ) |
| 前のウィンドウへ移動 | 「Ctrl + b」 → 「p」 | previous(前へ) |
| 番号指定で直接移動 | 「Ctrl + b」 → 「0」〜「9」 | ステータスバーの番号に対応 |
| ウィンドウ一覧から選択 | 「Ctrl + b」 → 「w」 | 一覧から十字キーで選んでEnter |
| 現在のウィンドウ名を変更 | 「Ctrl + b」 → 「,」 | 下部にプロンプトが出るので名前を入力 |
| 現在のウィンドウを閉じる | 「Ctrl + b」 → 「&」(確認で 「y」) | 全てのペインを終了することでもも閉じられる |
ステータスバーの見方(現在位置の確認)
ウィンドウを複数作成すると、画面下のステータスバーに 「0:top- 1:bash*」 のように表示され、現在どのウィンドウにいるか(「*」が付いているもの)が一目でわかります。
- 番号と名前: 0:bash や 1:top のように、インデックス番号と現在実行中のコマンド(または変更した名前)が表示されます。
- *(アスタリスク): 現在アクティブ(表示中)のウィンドウ を示しています。(上記の例では 1:bash を操作中)
- -(ハイフン): 直前にアクティブだったウィンドウ を示しています。(Ctrl + b → l で直前のウィンドウと素早く行き来できます)
「Ctrl + b」 → 「,」で、ウインドウに作業ごと「開発用」「サーバーログ監視用」「DB操作用」など名前をつけておくと、切り替えがとてもスムーズになります。
名前を指定してウィンドウを新規作成する場合は、シェルから以下のように実行します。
tmux new-window -n ウィンドウ名
※短縮形として「tmux neww -n ウィンドウ名」でも同様にウィンドを作成することができます。
基本操作 4:画面スクロール(コピーモード)
tmuxを使い始めた初心者が一番戸惑うのが、「マウスホイールで上にスクロールしても、過去のログが見られない」という点です。
tmuxの画面内で過去の出力履歴をさかのぼるには、「コピーモード(スクロールモード)」 という専用の閲覧モードに入る必要があります。
過去ログをスクロールする基本手順
- 1. コピーモードの開始
- 「Ctrl + b」 → 「[」(開き角括弧)を押すとコピーモードに切り替わり、画面右上に 「[0/120]」 のような「現在の行位置 / 履歴の総行数」を示すインジケーターが表示されます。
- 2. ログをスクロールして確認
-
マウスホイールでスクロールする以外に、以下のキー操作でもログをさかのぼって確認することが出来ます。
- 矢印キー(↑ / ↓): 1行ずつ上下にスクロール
- PageUp / PageDown : ページ単位で大きくスクロール
- 3. コピーモードの終了
- ログの確認が終わったら、「q」 を押すとコピーモードが終了し、通常のターミナル入力モードに戻ります。
Tips
毎回 「Ctrl + b」 → 「[」 を押すのが面倒な場合は、設定ファイル(~/.tmux.conf)に「set -g mouse on」を記述することで、通常のターミナルと同じようにマウスホイール操作だけで自動的にスクロールできるようになります。
おすすめ初期設定(~/.tmux.conf)
tmuxはホームディレクトリに設定ファイル 「~/.tmux.conf」 を作成することで、使い勝手を何倍にも向上させることができます。
特に「マウスホイールでのスクロール」や「直感的な画面分割」は、設定しておくだけで日々の作業効率が劇的に変わるため、最初に導入しておくのがおすすめです。
設定ファイルの作成
お好みのテキストエディタ(nano や vim など)を使って、ホームディレクトリ直下に「.tmux.conf」を作成・編集してください。
$ vi ~/.tmux.conf
以下の内容を貼り付けて保存します。
# -------------------------------------------------------------------
# tmux 基本設定 (~/.tmux.conf)
# -------------------------------------------------------------------
# マウス操作を有効にする(スクロール、ペイン選択、サイズ変更が可能に)
set -g mouse on
# ウィンドウとペインのインデックスを 1 から始める(キーボードの 1〜9 と位置を合わせる)
set -g base-index 1
setw -g pane-base-index 1
# | で左右分割、- で上下分割できるようにする(カレントディレクトリを引き継ぐ)
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# 新規ウィンドウ作成時も現在のディレクトリを引き継ぐ
bind c new-window -c "#{pane_current_path}"
# 設定ファイルを即座に再読み込みするショートカット(Ctrl + b → r)
bind r source-file ~/.tmux.conf \; display "tmux.conf reloaded!"
# 256色ターミナルを有効にする
set -g default-terminal "screen-256color"
設定の即時反映
tmuxのセッションが存在する場合は、以下のコマンドを実行すると設定を反映することができます。
$ tmux source-file ~/.tmux.conf
tmuxのセッションが存在しない場合は、新規起動時に「~/.tmux.conf」を読み込んで自動的に設定が反映されます。(上記コマンドを実行する必要はありません)
ショートカットキーで反映
「設定ファイルを即座に再読み込みするショートカットの設定」を行っている場合は、tmuxセッション内で「Ctrl + b」を押した後に「r」を押すだけで設定がリロードされ、画面下に「tmux.conf reloaded!」と通知が表示されます。
set -g mouse on の絶大な効果
「set -g mouse on」を設定するだけで、tmuxがまるで通常のGUIターミナルのように直感的に操作できるようになる必須の設定です!
- マウスホイールによる直感的なログスクロール:コピーモード([)に入らなくても、ホイールを回すだけで過去ログを閲覧できる
- クリックでペイン移動:操作したいペインをクリックするだけで、瞬時にフォーカスが切り替わる
- ドラッグでペインのリサイズ:ペイン同士の境界線をマウスでドラッグするだけで、画面サイズを自由に変更できる
まずこのマウス有効化だけでも設定しておくのがおすすめです!
まとめ:tmux必須コマンド・チートシート
最後に、日々のサーバー作業やローカル開発でよく使うコマンドとショートカットキーをチートシートとしてまとめました。
シェルコマンド(tmuxの外から実行)
# 名前付きで新規セッションを開始(推奨) tmux new -s セッション名 # 稼働中のセッション一覧を表示 tmux ls # 指定したセッションに再接続(アタッチ) tmux a -t セッション名 # 指定したセッションを削除(終了) tmux kill-session -t セッション名
プレフィックス操作(tmuxの中で Ctrl + b の後に押すキー)
【セッション操作】 「Ctrl + b」→「d」 : デタッチ(セッションから抜けてバックグラウンドへ) 「Ctrl + b」→「s」 : セッション一覧表示・切り替え 【ペイン(画面分割)】 「Ctrl + b」→「%」 : 左右に分割 「Ctrl + b」→「"」 : 上下に分割 「Ctrl + b」→「矢印」 : ペイン間を移動 「Ctrl + b」→「z」 : ペインの最大化 / 元に戻す(ズーム) 「Ctrl + b」→「x」 : ペインを閉じる 【ウィンドウ(タブ)】 「Ctrl + b」→「c」 : 新規ウィンドウ作成 「Ctrl + b」→「n / p」 : 次 / 前のウィンドウへ移動 「Ctrl + b」→「0〜9」 : 指定番号のウィンドウへ移動 「Ctrl + b」→「w」 : ウィンドウ一覧から選択 「Ctrl + b」→「,」 : ウィンドウ名を変更 【その他】 「Ctrl + b」→「[」 : スクロール(コピー)モード開始(qで終了) 「Ctrl + b」→「?」 : ヘルプ(キーバインド一覧)表示 「Ctrl + b」→「:」 : tmuxコマンドプロンプトを開く
tmuxを使いこなせるようになると、リモートサーバーでの作業効率が圧倒的に向上するだけでなく、回線切断による作業中断の恐怖からも解放されます。
まずは 「tmux new -s test」 でお試しのセッションを作り、「Ctrl + b」 → 「%」 での画面分割や 「Ctrl + b」 → 「d」 でのデタッチから操作を試してみてください!











コメント