tmux入門:インストールからセッション・ウィンドウ・ペインの使い方まで
はじめに
tmuxはターミナルの中で複数の画面を同時に扱えるツールです。「ターミナルマルチプレクサ」と呼ばれます。
- 1つのターミナルウィンドウを分割して複数のコマンドを並べて実行できる
- SSHが切れても作業を続けられる(セッションが残る)
- 作業状態を保存してあとで再開できる
この記事ではtmuxの基本概念とよく使う操作を解説します。キーバインド一覧は「tmuxチートシート」を参照してください。
インストール
macOS(Homebrew)
brew install tmux
Ubuntu / Debian
sudo apt install tmux
バージョン確認
tmux -V # tmux 3.5
基本概念:セッション・ウィンドウ・ペイン
tmuxには3つの階層があります。
セッション(session)
└── ウィンドウ(window) ← タブのようなもの
└── ペイン(pane) ← 画面の分割
- セッション:tmuxの作業単位。デタッチしても残り続ける
- ウィンドウ:セッション内のタブ。複数開ける
- ペイン:ウィンドウを分割した各エリア
tmuxの起動と終了
起動する
tmux
名前をつけて起動する
tmux new -s 作業名 tmux new -s myproject
プロジェクトごとに名前をつけると管理しやすくなります。
終了する
exit
全てのペインで exit するとウィンドウが閉じ、全ウィンドウが閉じるとセッションが終了します。
プレフィックスキー
tmuxのキーバインドは Ctrl + b(プレフィックス)を押してから操作キーを入力します。
Ctrl + b → d # デタッチ(セッションを残して抜ける)
この記事では prefix を Ctrl + b と表記します。
セッションの操作
デタッチとアタッチ
デタッチ(セッションを残して抜ける)
prefix → d
ターミナルを閉じてもセッションは残ります。SSHが切れた場合も同様です。
セッション一覧を確認する
tmux ls # myproject: 1 windows (created ...) # work: 2 windows (created ...)
アタッチ(セッションに戻る)
tmux attach -t myproject # または短縮形 tmux a -t myproject
セッションが1つだけの場合は -t を省略できます。
tmux a
セッションを切り替える
tmux内から別のセッションに切り替えます。
prefix → s
セッション一覧が表示され、矢印キーで選択して Enter で切り替えられます。
ウィンドウの操作
ウィンドウを作成・切り替える
新しいウィンドウを開く
prefix → c
ウィンドウを番号で切り替える
prefix → 0 # 1つ目のウィンドウ prefix → 1 # 2つ目のウィンドウ
次・前のウィンドウに移動
prefix → n # 次(next) prefix → p # 前(previous)
ウィンドウ一覧から選ぶ
prefix → w
ウィンドウを閉じる
exit # または prefix → & # 確認後に閉じる
ペインの操作
ペインを分割する
左右に分割する
prefix → %
上下に分割する
prefix → "
ペインを移動する
prefix → 矢印キー
または
prefix → o # 次のペインに移動
ペインのサイズを変更する
prefix → Ctrl + 矢印キー # 少しずつ変更 prefix → Alt + 矢印キー # 大きく変更
ペインを閉じる
exit # または prefix → x # 確認後に閉じる
ペインを最大化・元に戻す
prefix → z # 現在のペインを最大化(もう一度押すと元に戻る)
よく使うシーン
サーバーとログを並べて見る
1. tmux new -s dev # セッション作成 2. サーバー起動コマンドを実行 3. prefix → % # 左右に分割 4. ログ確認コマンドを実行
複数プロジェクトを切り替える
tmux new -s frontend # フロントエンド用セッション tmux new -s backend # バックエンド用セッション tmux a -t frontend # フロントエンドに戻る tmux a -t backend # バックエンドに戻る
まとめ
| 操作 | コマンド |
|---|---|
| 起動 | tmux / tmux new -s 名前 |
| デタッチ | prefix → d |
| アタッチ | tmux a -t 名前 |
| セッション一覧 | tmux ls |
| ウィンドウ追加 | prefix → c |
| ウィンドウ切り替え | prefix → 番号 / prefix → w |
| 左右分割 | prefix → % |
| 上下分割 | prefix → " |
| ペイン移動 | prefix → 矢印 |
| ペイン最大化 | prefix → z |
キーバインドの全一覧は「tmuxチートシート」にまとめています。