tmux は1つの端末で複数の領域(ペイン)やタブ(ウィンドウ)を分割して扱える「ターミナルマルチプレクサ」と呼ばれるツールです。セッションをデタッチしておけば、SSH接続が切れても後から再接続(アタッチ)して作業を継続できます。
長時間の処理、リモートでの作業、複数ログの同時監視などで非常に役立ちます。
tmuxとは・メリット
tmuxを使う最大のメリットは、「ターミナル上の作業状態(セッション)を保持できる」点と「画面を自由に分割できる」点です。
- セッションの永続化: 作業中にネットワークが切断されても、tmux上のプログラムは動き続けます。再度サーバーに接続して
tmux aを実行すれば、元の画面にすぐ戻れます。 - 画面分割(ペイン・ウィンドウ): 1つのターミナル画面を上下左右に分割したり、複数のタブ(ウィンドウ)を作って切り替えたりできるため、作業効率が格段に上がります。
基本的な使い方
1. 起動と終了
ターミナルで tmux と入力するだけで起動します。名前を付けて起動する場合は new -s を使います。
# 新規起動
tmux
# 名前をつけて起動(例: work)
tmux new -s work
# tmux自体の終了
exit
2. プレフィックスキーについて
tmuxの操作(画面分割や移動など)は、基本的にプレフィックスキーを押してから、特定のキーを入力して行います。
デフォルトのプレフィックスキーは Ctrl + b です。
3. デタッチ・アタッチ(セッション管理)
tmux上の作業を維持したまま元のシェルに戻ることをデタッチ、戻った状態から再度tmuxの画面に入ることをアタッチと呼びます。
- デタッチ:
Ctrl+bを押した後、dを押す - アタッチ: ターミナルで
tmux attachまたはtmux aを実行
4. ウィンドウ・ペイン分割(画面分割)
1つの画面を複数に分ける「ペイン分割」や、タブのように扱う「ウィンドウ」の操作です。いずれも Ctrl + b の後にキーを押します。
- 横に分割:
Ctrl+bの後% - 縦に分割:
Ctrl+bの後" - ペイン間の移動:
Ctrl+bの後矢印キー - ペインを閉じる:
Ctrl+bの後x(またはexitコマンド) - 新規ウィンドウ作成:
Ctrl+bの後c - ウィンドウ切り替え:
Ctrl+bの後n(次) またはp(前)
ショートカットキー一覧早見表
| 操作 | ショートカットキー (Ctrl-b の後) |
|---|---|
| デタッチ (抜ける) | d |
| 画面を左右(横)に分割 | % |
| 画面を上下(縦)に分割 | " |
| ペインの移動 | 矢印キー (↑↓←→) |
| 現在のペインを閉じる | x |
| 現在のペインを最大化/元に戻す | z |
| 新規ウィンドウの作成 | c |
| 次のウィンドウへ移動 | n |
| 前のウィンドウへ移動 | p |
| ウィンドウの一覧を表示して選択 | w |
| ペインをスクロールモードにする | [ (抜けるには q) |
おすすめの設定(.tmux.conf)
tmuxの設定は ~/.tmux.conf に記述します。初心者におすすめなのは、マウス操作を有効にする設定です。これにより、ペインの選択やサイズ変更をマウスで直感的に行えるようになります。
# ~/.tmux.conf
# マウス操作を有効にする
set -g mouse on
# 256色表示を有効にする
set-option -g default-terminal "screen-256color"
# プレフィックスキーを Ctrl-a に変更する場合(任意)
# unbind C-b
# set -g prefix C-a
# bind C-a send-prefix
設定を変更した後は、以下のコマンドで設定を再読み込みします。
tmux source-file ~/.tmux.conf
コマンド構文・オプション一覧
# 基本
tmux [GLOBAL_OPTIONS] [COMMAND [ARGS...]]
# 代表的なコマンド
tmux new -s NAME # セッション作成
tmux attach -t NAME # 既存へ接続
tmux ls # セッション一覧
tmux kill-session -t NAME # セッション終了
tmux split-window [-h|-v] # 画面分割(水平/垂直)
tmux new-window # 新しいウィンドウ
tmux select-pane -t :.+ # ペイン切替(例)
tmux source-file ~/.tmux.conf # 設定再読み込み
| オプション | 説明 | 使用例 |
|---|---|---|
-S PATH | ソケットファイルのパスを指定 | tmux -S /tmp/tmux-work new -s work |
-L NAME | ソケット名前を指定 | tmux -L build new -s ci |
-f FILE | 指定した設定ファイルを読む | tmux -f ./minimal.tmux.conf new -s test |
-2 | 256色を強制 | tmux -2 attach -t work |
-u | 端末を UTF-8 とみなす | tmux -u new -s u8 |
-v / -vv… | 詳細ログ(デバッグ) | tmux -vv new -s debug |
-C | コントロールモードで起動 | tmux -C attach |
-V | バージョン表示 | tmux -V |
関連コマンド
screen: 同種のマルチプレクサ(歴史が長い)。nohup: 端末切断時もプロセス継続(簡易)。mosh: 不安定回線でもSSHセッションを維持(tmux と併用すると強力)。
参考
- manページ:
man 1 tmux - 公式リポジトリ: https://github.com/tmux/tmux
- チートシート: https://tmuxcheatsheet.com/

コメント