メインコンテンツへスキップ
  1. ノート/
  2. ツールとデプロイ/

tmuxガイド:セッション、ウィンドウ、ペイン

·1487 文字·3 分· loading · loading · · ·
ICE345
著者
ICE345
CS Student | System | Linux | OCaml

tmuxは、1つのターミナルから複数のShellや長時間実行する処理を管理するターミナルマルチプレクサーです。SSH接続が切れたり、ターミナルウィンドウを閉じたりしても、tmuxセッション内の処理を継続できます。

1. インストール
#

# macOS
brew install tmux

# Ubuntu/Debian
sudo apt update
sudo apt install tmux

# Arch Linux
sudo pacman -S tmux
tmux -V

2. 3つの階層
#

tmuxの構造は次のとおりです。

tmux server
  └── session(セッション)
        └── window(ウィンドウ)
              └── pane(ペイン)
  • Session:プロジェクトや作業単位の大きな入れ物。
  • Window:ブラウザーのタブに近い単位。
  • Pane:1つのWindow内を分割した端末領域。

3. セッションを作成、デタッチ、再接続する
#

tmux new -s work

tmuxの中で、次のキーを順番に押すとセッションからデタッチできます。

Ctrl-b d

セッション自体は終了せず、バックグラウンドで処理を続けます。

tmux ls
tmux attach -t work
ターミナルのウィンドウを閉じることと、tmuxセッションを終了することは別です。セッションを終了するには、ペインでexitを実行するか、tmux kill-session -t workを使います。

4. ウィンドウ操作
#

デフォルトのPrefixキーはCtrl-bです。Prefixを押した後、次のキーを押します。

| キー | 動作 | | --- | --- | | Ctrl-b c | 新しいWindowを作る | | Ctrl-b n | 次のWindowへ移動 | | Ctrl-b p | 前のWindowへ移動 | | Ctrl-b w | Window一覧を表示 | | Ctrl-b , | Window名を変更 | | Ctrl-b & | 現在のWindowを終了 |
tmux new-window -n editor

5. ペインを分割する
#

| キー | 動作 | | --- | --- | | Ctrl-b % | 左右に分割 | | Ctrl-b " | 上下に分割 | | Ctrl-b o | 次のPaneへ移動 | | Ctrl-b 矢印キー | 指定方向のPaneへ移動 | | Ctrl-b x | 現在のPaneを終了 | | Ctrl-b z | Paneを最大化・復元 |
tmux split-window -h

6. Prefixキーとキーバインド
#

現在のキーバインドは次で確認できます。

tmux list-keys -T prefix
tmux list-keys -T copy-mode

PrefixキーをCtrl-aへ変更する設定例です。

# ~/.tmux.conf
set -g prefix C-a
unbind C-b
bind C-a send-prefix

設定を再読み込みします。

tmux source-file ~/.tmux.conf

7. コピーとスクロール
#

コピー・モードへ入ります。

Ctrl-b [

矢印キーやPageUpで移動し、Spaceで選択を開始し、Enterでコピーします。通常の端末へ戻るにはqを押します。コピーした内容を貼り付けるにはCtrl-b ]を使います。

vi風の操作を使いたい場合は、設定へ次を追加します。

setw -g mode-keys vi

8. 同じ入力を複数Paneへ送る
#

tmux setw synchronize-panes on
tmux setw synchronize-panes off
同期入力を有効にすると、入力した文字列が複数Paneへ同時に送られます。破壊的なコマンドを実行する前に、同期状態を確認してください。

9. セッションを保存・復元する
#

tmuxセッションは通常、サーバーを再起動すると失われます。長期的に復元したい場合は、tmux-resurrectやtmux-continuumなどのプラグインを検討します。

tmux list-sessions
tmux list-windows -t work
tmux list-panes -t work

10. よくあるトラブル
#

  • no server running:tmuxセッションが存在しない。tmux new -s workで作成する。
  • no sessions:指定した名前のセッションがない。tmux lsで確認する。
  • キーが反応しない:Prefixを先に押し、tmux list-keysで設定を確認する。
  • 画面が狭い:Paneを閉じる、最大化する、またはresize-paneを使う。
  • SSHが切れた:再接続後にtmux attach -t workを実行する。

まとめ
#

tmuxで最初に覚えるべき流れは次の4つです。

tmux new -s work
# Ctrl-b dでデタッチ
tmux ls
tmux attach -t work

Session、Window、Paneを分けて使うと、編集、サーバー、ログ監視を1つのターミナルで安定して管理できます。

関連記事


评论