tmuxの使い方:パワーユーザーのためのターミナルマルチプレクサ

tmuxは、複数のセッション、ペイン、および持続的なワークフローを1つのターミナルで管理することにより、生産性を向上させる画期的なターミナルマルチプレクサです。開発者、システム管理者、またはリモートサーバーで作業するすべての人に最適で、tmuxはタスクを整理し、堅牢に保ちます。このガイドでは、実用的な例とコマンドラインの効率を向上させるためのヒントを使って、tmuxの使用を簡素化します。

tmuxとは何ですか?

tmuxは、以下を可能にするオープンソースのターミナルマルチプレクサです:

  • 1つのターミナル内での複数のシェルセッション

  • 持続的なセッション(切断後も維持)

  • ペインとウィンドウの分割

  • ユーザー間でのセッション共有

  • ターミナルを離れずにタスク間を簡単に切り替え

まるでターミナル用のタイルウィンドウマネージャーを持っているかのようで、どこでも利用可能です—遅いSSH接続でも。

tmuxのインストール

Debian/Ubuntuの場合:

sudo apt install tmux

CentOS/RHELの場合:

sudo yum install tmux

macOSの場合:

brew install tmux

tmuxの始め方

新しいtmuxセッションを開始するには:

tmux

これで新しいセッション内にいます。しかし、効果的に使用するには、いくつかのキーバインディングを知っておく必要があります。

デフォルトのプレフィックス:Ctrl + b

すべてのtmuxコマンドはプレフィックスキーでトリガーされ、デフォルトでは次のようになります:

Ctrl + b

したがって、Ctrl + bの後に%を押すと垂直分割が作成されます。

基本的なtmuxコマンド

コマンドアクション
tmux新しいセッションを開始
tmux new -s mysession名前付きセッションを開始
tmux attach -t mysessionセッションに再接続
tmux lsセッションをリスト表示
tmux kill-session -t mysessionセッションを終了
exit現在のペイン/ウィンドウを終了(またはtmux kill-paneで終了)

高度なヒントとコツ

1. 持続性のための名前付きセッション

tmux new -s setup-server("name-your-session")
Ctrl + b、次に “
→ 上下2つの水平パネルがあります

いつでも再接続できます:

tmux attach -t setup-server

🧮 2. セッションスクリプトで時間を節約

設定を自動化するために.tmux.conf またはシェルスクリプトを作成します:

#!/bin/bash
tmux new-session -d -s dev
tmux send-keys -t dev 'cd ~/project && vim' C-m
tmux split-window -h
tmux send-keys 'htop' C-m
tmux attach -t dev

🧬 3. 他のユーザーとセッションを共有

共同ターミナルセッションを許可します(共有権限が必要):

sudo chmod +s /usr/bin/tmux
tmux -S /tmp/shared attach

⚙ 4. .tmux.confをカスタマイズ

例:

# プレフィックスをCtrl + aに設定(GNU screenのように)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# マウスサポート
set -g mouse on

# より良い色
set -g default-terminal "screen-256color"

設定を再読み込み:

tmux source-file ~/.tmux.conf

使用例:SSH経由のtmux

リモートVPSをSSH経由で管理する際:

  1. SSH経由で接続

  2. tmuxセッションを開始:

    tmux new -s remote
  3. 更新や長いプロセスを実行(例:apt upgrade)

  4. いつでも切断—セッションは持続します

  5. 後で再接続:

    tmux attach -t remote

💡 これは信頼性の低い接続、特にモバイルや衛星リンクで非常に価値があります。

tmuxは、コマンドラインの武器庫の中で最も強力なツールの1つです。コーディング、サーバーの監視、またはリモートでの複数のタスクの管理を行う際、tmuxは生産性、持続性、精度を提供します。一度習得すれば、時間を節約し、セッションを保持し、ターミナルのワークフローをプロのように整理するために不可欠なものになります。

結論

tmuxは、ターミナルを強力で柔軟な作業スペースに変え、多重作業、リモートサーバー管理、または共同コーディングに最適です。上記の例とヒントを使用すれば、セッションを迅速に設定し、ワークフローを自動化し、持続的なタスクを維持できます。開発者やシステム管理者であっても、tmuxはコマンドラインの体験を合理化し、時間を節約し、効率を向上させます。