概要
tmuxは、ユーザーがターミナルセッションを作成、切断(detach)、再接続(attach)できるようにすることで、ネットワーク接続が切断されても作業が中断されないようにします。また、単一のターミナルウィンドウ内で複数のウィンドウ(windows)と分割画面(panes)を管理できるため、生産性を大幅に向上させます。
主な特徴
- セッション維持と再接続:ネットワーク接続が切断されても、作業セッションはサーバーに残ります。
- マルチウィンドウと分割画面:1つのターミナルで複数の仮想ウィンドウと画面分割により、同時作業が可能です。
- 共同作業の容易性:同じtmuxセッションに複数のユーザーが接続して一緒に作業できます。
- カスタマイズ可能:`.tmux.conf`ファイルを通じて、ショートカットキー、ステータスバーなど、さまざまな設定を変更できます。
主なオプション
tmuxコマンドと共に使用される主なオプションです。
セッション管理
セッション/ウィンドウ名指定
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`tmux` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
tmuxを使用してターミナルセッションを管理する様々な例です。
新しいtmuxセッションの開始
tmux
名前を指定しない場合、自動的に名前が割り当てられます。
名前を指定して新規セッション開始
tmux new -s my_session
`my_session`という名前で新しいtmuxセッションを開始します。
既存セッションへの接続
tmux attach -t my_session
`my_session`という名前のセッションに再接続します。
現在のセッションから切断
tmux detach
tmuxセッション内で`Ctrl+b d`を押すのと同じ効果です。(ターミナルから直接実行するコマンドではありません)
すべてのtmuxセッション一覧表示
tmux ls
現在実行中のすべてのtmuxセッションとその状態を表示します。
特定のセッション終了
tmux kill-session -t my_session
`my_session`という名前のセッションを終了します。
インストール
tmuxはほとんどのLinuxディストリビューションにデフォルトで含まれていないため、次のコマンドを使用してインストールする必要があります。
Debian/Ubuntu
sudo apt update && sudo apt install tmux
APTパッケージマネージャーを使用してtmuxをインストールします。
CentOS/RHEL/Fedora
sudo dnf install tmux
# または sudo yum install tmux (旧バージョン)
YUMまたはDNFパッケージマネージャーを使用してtmuxをインストールします。
Arch Linux
sudo pacman -S tmux
Pacmanパッケージマネージャーを使用してtmuxをインストールします。
ヒントと注意点
tmuxをより効率的に使用するためのヒントと注意点です。
デフォルトのプレフィックスキー (Prefix Key)
tmuxのすべてのコマンドは、デフォルトで`Ctrl+b`プレフィックスキーを押してから他のキーを押して実行されます。このプレフィックスキーは`.tmux.conf`ファイルで変更できます。
- Ctrl+b d: 現在のセッションから切断 (detach)
- Ctrl+b %: 現在のペインを垂直に分割
- Ctrl+b ": 現在のペインを水平に分割
- Ctrl+b c: 新しいウィンドウを作成
- Ctrl+b n: 次のウィンドウに移動
- Ctrl+b p: 前のウィンドウに移動
- Ctrl+b x: 現在のペインを閉じる (確認メッセージあり)
- Ctrl+b [: スクロールモードに入る (画面を上にスクロール)
- Ctrl+b ]: スクロールモードを終了
`.tmux.conf`ファイル
ユーザーのホームディレクトリにある`.tmux.conf`ファイルを通じてtmuxの設定をカスタマイズできます。例えば、プレフィックスキーを`Ctrl+a`に変更したり、ステータスバーの色や表示情報を設定したりできます。変更を適用するには、`tmux source-file ~/.tmux.conf`コマンドを実行するか、tmuxセッションを再起動する必要があります。
簡単な.tmux.confの例
# プレフィックスキーをCtrl+aに変更
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# マウススクロールを有効化
set -g mouse on
プレフィックスキーを`Ctrl+a`に変更し、マウススクロールを有効にする例です。