「長時間かかるビルドやログ監視を、ターミナルを閉じても裏で動かし続けたい」
サーバー運用の現場でこうした経験があるなら、
tmux(ティーマックス/Terminal Multiplexer)を導入する価値があります。この記事では、
tmux の基本的な使い方から、セッション管理、ウィンドウとペインの分割操作、SSH切断後のプロセス維持、そして実務で役立つ応用テクニックまで、現場で必要になるノウハウをまとめて解説します。RHEL 9.4 / Ubuntu 24.04 LTSで動作確認済みです。
この記事のポイント
・tmux はSSH切断後もプロセスを維持できる
・セッション・ウィンドウ・ペインの3階層で管理する
・Ctrl+b がすべての操作の起点になるプレフィックスキー
・screenより高機能で現在の主流ターミナルマルチプレクサ
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
tmuxとは?(ターミナルマルチプレクサの基本)
tmux は「Terminal Multiplexer」の略で、1つのターミナル画面の中に複数の仮想端末を作成・管理できるコマンドです。たとえば、SSH接続1本で「ログ監視」「設定ファイル編集」「コマンド実行」を同時に行いたい場面は日常的にあります。tmuxを使えば、画面を分割してそれぞれの作業を並行して進められます。
最大のメリットはセッションの永続化です。tmuxのセッション内で動いているプロセスは、SSHが切断されても停止しません。再接続してセッションに戻れば(アタッチすれば)、切断前の画面がそのまま復元されます。
同様の機能を持つ
screen コマンドもありますが、tmuxは画面分割(ペイン)の操作性やスクリプタビリティで優れており、現在の主流です。tmuxのインストールと起動
1. tmuxのインストール
多くのLinuxディストリビューションでは、tmuxは標準リポジトリからインストールできます。# RHEL系(Rocky Linux / AlmaLinux / RHEL 9) # sudo dnf install tmux # Ubuntu / Debian系 # sudo apt install tmux # インストール確認 # tmux -V tmux 3.3a
2. tmuxを起動する
インストールが完了したら、ターミナルでtmux と入力するだけで起動します。# tmuxを起動する(新しいセッションが自動作成される) # tmux
セッションの基本操作(作成・デタッチ・アタッチ)
tmuxの操作は プレフィックスキー(デフォルトはCtrl+b)を起点にします。Ctrl+b を押してから次のキーを押す、という2段階の操作が基本です。3. セッションからデタッチする(抜ける)
セッションを終了せずに一時的に抜けるには、デタッチ(detach)します。セッション内のプロセスはバックグラウンドで動き続けます。# プレフィックスキー + d でデタッチする # Ctrl+b を押してから d を押す [detached (from session 0)]
[detached (from session 0)] と表示されれば、元のターミナルに戻っています。セッションはバックグラウンドで生き続けています。4. セッション一覧を確認する
# 現在のセッション一覧を表示する # tmux ls 0: 1 windows (created Sat Apr 12 10:30:15 2026) work: 3 windows (created Sat Apr 12 11:00:42 2026)
0 や work)、ウィンドウ数、作成日時が表示されます。5. セッションにアタッチする(戻る)
# 直近のセッションにアタッチする # tmux attach # 特定のセッション名を指定してアタッチする # tmux attach -t work
tmux attach で切断前の画面にそのまま戻れます。これがtmux最大の実務メリットです。6. 名前付きセッションを作成する
セッションに名前を付けておくと、複数のセッションを使い分ける時に便利です。# "deploy" という名前のセッションを作成する # tmux new -s deploy
7. セッションを終了する(kill)
不要になったセッションは明示的に終了します。# 特定のセッションを終了する # tmux kill-session -t deploy # 全セッションを終了する # tmux kill-server
kill-server は全セッションが破棄されるため、本番環境では注意して使ってください。ウィンドウの操作(作成・切り替え・名前変更)
tmuxの構造は セッション > ウィンドウ > ペイン の3階層です。1つのセッション内に複数のウィンドウを作成でき、ウィンドウはターミナルのタブのような存在です。8. 新しいウィンドウを作成する
# プレフィックスキー + c で新しいウィンドウを作成する # Ctrl+b を押してから c を押す
0:bash 1:bash のような表示)が増えます。9. ウィンドウを切り替える
# 次のウィンドウに切り替える # Ctrl+b を押してから n を押す # 前のウィンドウに切り替える # Ctrl+b を押してから p を押す # 番号を指定して切り替える(例:ウィンドウ2へ) # Ctrl+b を押してから 2 を押す
10. ウィンドウに名前を付ける
# 現在のウィンドウの名前を変更する # Ctrl+b を押してから , を押す # ステータスバーに入力欄が表示されるので、名前を入力してEnter
logs、edit、build のように作業内容で名前を付けておくと、ウィンドウが増えても迷いません。ペインの分割と操作
ペインは、1つのウィンドウを複数の領域に分割する機能です。左右や上下に画面を区切って、同時に異なる作業を表示できます。11. 画面を水平に分割する(上下)
# 水平分割(上下に分かれる) # Ctrl+b を押してから " を押す
12. 画面を垂直に分割する(左右)
# 垂直分割(左右に分かれる) # Ctrl+b を押してから % を押す
13. ペイン間を移動する
# 矢印キーでペインを移動する # Ctrl+b を押してから矢印キー(上下左右) # ペインを順番に切り替える # Ctrl+b を押してから o を押す
14. ペインのサイズを変更する
# プレフィックスキーを押しながら矢印キーでサイズを調整する # Ctrl+b を押したまま矢印キー(上下左右)を繰り返し押す
15. ペインを閉じる
# 現在のペインを閉じる # Ctrl+b を押してから x を押す # 確認メッセージが表示されるので y を入力する # またはペイン内で exit を実行する # exit
実務で使うtmuxの応用例
16. SSH切断後もプロセスを維持する(最も重要な使い方)
本番環境で長時間かかるバッチ処理やビルドを実行する場合、tmuxセッション内で実行しておけば、SSH接続が切断されてもプロセスは停止しません。# 名前付きセッションでバッチを実行する # tmux new -s batch # セッション内でバッチを開始する # ./long-running-batch.sh # ネットワークが不安定でも、デタッチしておけば安心 # Ctrl+b を押してから d を押す # 再接続後にアタッチする # tmux attach -t batch
nohup や screen でも同様のことは可能ですが、tmuxならペイン分割でログ監視も同時にできるのが強みです。17. ペアプログラミング(同じセッションを共有する)
複数のユーザーが同じtmuxセッションにアタッチすると、全員が同じ画面をリアルタイムに共有できます。障害対応時にリモートの同僚と同じターミナルを見ながら作業する場面で活用できます。# ユーザーAがセッションを作成する # tmux new -s debug # ユーザーBが同じセッションにアタッチする(別のSSH接続から) # tmux attach -t debug
18. スクロールバックでログを遡る(コピーモード)
tmuxにはコピーモードがあり、画面を上にスクロールして過去の出力を確認できます。# コピーモードに入る # Ctrl+b を押してから [ を押す # 矢印キーまたは Page Up / Page Down でスクロールする # q を押すとコピーモードを抜ける
19. .tmux.conf でカスタマイズする
tmuxの設定ファイルは~/.tmux.conf です。よく使うカスタマイズ例を紹介します。# ~/.tmux.conf の設定例 # プレフィックスキーを Ctrl+b から Ctrl+a に変更する set -g prefix C-a unbind C-b bind C-a send-prefix # ペイン分割のキーバインドを直感的にする bind | split-window -h bind - split-window -v # マウス操作を有効にする(ペイン選択・リサイズ・スクロール) set -g mouse on # ステータスバーの色を変更する set -g status-bg colour235 set -g status-fg colour136 # 設定を反映する(tmux内で実行) # tmux source-file ~/.tmux.conf
tmux source-file ~/.tmux.conf を実行するか、tmuxを再起動すると反映されます。トラブルシュート:tmuxで困った時の対処法
20. 「no server running」と表示される場合
tmuxサーバーが起動していない状態でtmux attach を実行した場合に出るエラーです。# tmux attach no server running on /tmp/tmux-1000/default
tmux で新しいセッションを作成すれば解決します。21. 「sessions should be nested with care」と警告が出る場合
tmuxセッション内でさらにtmux を実行しようとした場合に出る警告です。tmuxのネスト(入れ子)は混乱のもとなので、通常は避けてください。新しいセッションが必要な場合は、一度デタッチしてから別のセッションを作成するか、ウィンドウやペインで分割してください。
22. ペイン内の表示がおかしくなった場合
ターミナルのリサイズ後や、大量の出力後に表示が崩れることがあります。# 画面を再描画する # Ctrl+b を押してから r を押す # またはペイン内で clear コマンドを実行する # clear
23. screenとtmuxのどちらを使うべきか
結論から言うと、新規にセットアップするなら tmuxを推奨 します。・ペイン分割:tmuxはネイティブで縦横分割に対応。screenは後付けの分割機能で操作性が劣る
・ステータスバー:tmuxは標準で見やすいステータスバーを表示。screenはデフォルトでは非表示
・スクリプタビリティ:tmuxはコマンドラインから全操作を制御でき、自動化しやすい
・メンテナンス:screenは長年メンテナンスが停滞気味。tmuxは積極的に開発が続いている
既存の環境でscreenが使われている場合は無理に移行する必要はありませんが、新しいサーバーにはtmuxを入れる、という運用が現場では定着しつつあります。
本記事のまとめ(tmuxコマンド早見表)
| やりたいこと | コマンド / キーバインド |
|---|---|
| tmuxを起動する | tmux |
| 名前付きセッションを作成する | tmux new -s セッション名 |
| セッション一覧を表示する | tmux ls |
| セッションにアタッチする | tmux attach -t セッション名 |
| セッションからデタッチする | Ctrl+b を押してから d |
| セッションを終了する | tmux kill-session -t セッション名 |
| 新しいウィンドウを作成する | Ctrl+b を押してから c |
| 次/前のウィンドウに切り替える | Ctrl+b を押してから n / p |
| 画面を水平分割する(上下) | Ctrl+b を押してから " |
| 画面を垂直分割する(左右) | Ctrl+b を押してから % |
| ペイン間を移動する | Ctrl+b を押してから矢印キー |
| ペインを閉じる | Ctrl+b を押してから x |
| コピーモードに入る | Ctrl+b を押してから [ |
| 設定ファイルを再読み込みする | tmux source-file ~/.tmux.conf |
tmuxを「何となく」使っていませんか?
SSH接続が切れて作業が消えるのは、サーバー運用で最も避けたいトラブルの一つです。tmuxのセッション管理やペイン操作を正しく使いこなせば、障害対応やバッチ実行の安全性は格段に上がります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
