tmuxとは何か?
tmuxは「Terminal Multiplexer」の略で、一つのターミナル画面を複数の独立したセッション、ウィンドウ、ペインに分割して使用できるようにします。SSH接続が切断されても作業を継続させたり、複数の作業を同時に監視したりする際に不可欠なツールです。
3つの主要な概念
tmuxはセッション > ウィンドウ > ペインの階層構造を持ちます。
- セッション (Session): 最も大きな単位。複数のウィンドウを含む作業空間です。(例:「project-A」)セッションからデタッチしても、作業はバックグラウンドで継続されます。
- ウィンドウ (Window): セッション内のタブに似ています。一つのセッションは複数のウィンドウを持つことができます。
- ペイン (Pane): 一つのウィンドウを複数に分割した小さなターミナル画面です。(例:上部でコード編集、下部でログ確認)
プレフィックスキー
`tmux`内でコマンドを実行するために最初に押すキーの組み合わせです。デフォルトはCtrl+bです。(例:新しいウィンドウを作成するには、Ctrl+bを押してからcを押します。)このガイドでは、このキーを[Prefix]と表記します。
主要コマンド (Shell)
ターミナル(Shell)から直接入力してtmuxセッションを管理するコマンドです。
1. セッション管理
2. ヘルプ/バージョン
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`tmux` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
主要ショートカット (tmux内部)
`tmux`セッションにアタッチした状態で使用するショートカットです。まず[Prefix](デフォルトCtrl+b)を押してから次のキーを押します。
セッションおよびウィンドウ管理
- [Prefix] + d: セッションからデタッチ。作業はバックグラウンドで継続されます。
- [Prefix] + c: 新しいウィンドウを作成 (Create)
- [Prefix] + w: ウィンドウ一覧を表示 (Windows)
- [Prefix] + n: 次のウィンドウへ移動 (Next)
- [Prefix] + p: 前のウィンドウへ移動 (Previous)
- [Prefix] + [0-9]: 該当番号のウィンドウへ直接移動
- [Prefix] + ,: 現在のウィンドウ名を変更
- [Prefix] + &: 現在のウィンドウを閉じる(確認が必要)
ペイン管理
- [Prefix] + %: 現在のペインを垂直分割(左右)
- [Prefix] + ": 現在のペインを水平分割(上下)
- [Prefix] + [方向キー]: 方向キーの方向にあるペインにフォーカスを移動
- [Prefix] + o: 次のペインへ順に移動
- [Prefix] + z: 現在のペインを全画面拡大/縮小 (Zoom)
- [Prefix] + x: 現在のペインを閉じる(確認が必要)
使用シナリオ例 (Shell)
ターミナルでtmuxを開始し、管理する一般的な流れです。
my-projectセッションの作成とアタッチ
tmux new -s my-project
セッションからデタッチ
セッション内で[Prefix](Ctrl+b)を押してからdキーを押してセッションから抜けます。作業は継続して実行されます。
実行中のセッション一覧を確認
tmux ls
my-projectセッションに再アタッチ
tmux attach -t my-project
my-projectセッションを強制終了
tmux kill-session -t my-project
インストール
tmuxは、ほとんどのLinuxディストリビューションのパッケージマネージャーを通じて簡単にインストールできます。
Debian/Ubuntu
sudo apt update && sudo apt install -y tmux
RHEL/CentOS/Fedora
sudo dnf install -y tmux
Arch Linux
sudo pacman -S --needed tmux
openSUSE
sudo zypper install -y tmux
ヒント&注意事項
推奨設定/習慣
- SSH接続直後: リモートサーバーに接続したらすぐに`tmux new -s work`のようにセッションを作成すると、接続が切断されても安全に作業を継続できます。
- マウスモード: ~/.tmux.conf に `set -g mouse on` を追加すると、マウスでペインのサイズ調整、ウィンドウ選択、スクロールが可能になります。
- 設定ファイル: ~/.tmux.conf に自分だけのショートカットやテーマを設定してください。
- プレフィックス変更: Ctrl+bが不便な場合は `set -g prefix C-a` で変更できます。