概要
tmux new-sessionは、ターミナルセッションを永続的に維持し、複数のウィンドウとペインで作業を分離して管理できるようにするtmuxのコア機能です。このコマンドを使用して新しい作業スペースを作成し、必要に応じて接続または切断できます。
主な特徴
- 新しいtmuxセッションの作成
- セッションに一意の名前を付けることが可能
- バックグラウンドでのセッション開始 (detach)
- 初期ウィンドウの名前と開始ディレクトリの設定
- セッションが既に存在する場合に接続するオプションを提供
主なオプション
tmux new-sessionコマンドと共によく使用されるオプションです。
セッションの作成と管理
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`tmux new-session` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
tmux new-sessionコマンドを活用した様々な使用例です。
基本的なセッション作成
tmux new-session
最も基本的な形式で、名前のない新しいtmuxセッションを作成し、すぐに接続します。
名前を指定したセッション作成
tmux new-session -s my_session
my_sessionという名前で新しいtmuxセッションを作成します。この名前で後からセッションに再接続できます。
バックグラウンドでセッション作成
tmux new-session -s dev_work -d
dev_workという名前のセッションを作成しますが、すぐに切断 (-d) してバックグラウンドで実行します。現在のターミナルはそのまま維持されます。
特定のディレクトリからセッション開始
tmux new-session -s project_alpha -c /home/user/projects/alpha
project_alphaというセッションを作成し、/home/user/projects/alpha ディレクトリから開始します。
セッションが存在すれば接続、なければ作成
tmux new-session -A -s my_session
my_sessionというセッションが既に存在する場合は接続し、存在しない場合は新しく作成します。これによりセッション管理ワークフローが簡素化されます。
セッション作成時に初期コマンド実行
tmux new-session -s htop_monitor 'htop'
htop_monitorというセッションを作成し、最初のウィンドウでhtopコマンドを実行します。
インストール
tmuxはほとんどのLinuxディストリビューションにデフォルトで含まれていないため、次のコマンドを使用してインストールする必要があります。
Debian/Ubuntu
sudo apt update && sudo apt install tmux
APTパッケージマネージャーを使用してtmuxをインストールします。
CentOS/RHEL/Fedora
sudo yum install tmux
# または
sudo dnf install tmux
YUMまたはDNFパッケージマネージャーを使用してtmuxをインストールします。
Arch Linux
sudo pacman -S tmux
Pacmanパッケージマネージャーを使用してtmuxをインストールします。
ヒントと注意点
tmux new-sessionコマンドをより効率的に使用するためのヒントと注意点です。
セッション名指定の重要性
複数のセッションを管理する際に、-sオプションで意味のある名前を指定すると、混乱を減らし作業効率を高めることができます。(例: dev, prod, monitoring)
- 明確な名前でセッション管理が容易に
- tmux attach -t <name> で簡単に再接続
バックグラウンドセッションの活用
-dオプションを使用してセッションをバックグラウンドで開始すると、ターミナルを閉じてもセッションが維持されるため、長時間実行されるタスクに便利です。後でtmux attach -t <name>で再接続できます。
- サーバー接続が切断されても作業を維持
- 複数のタスクを同時にバックグラウンドで実行
初期コマンド実行
セッション作成時に最後の引数として実行するコマンドを指定できます。これは特定のアプリケーションやスクリプトをすぐに開始する必要がある場合に便利です。
- 例: tmux new-session -s my_app 'python app.py'
- セッション開始と同時に必要なサービスを起動
セッションの自動接続/作成 (-A)
-Aオプションは、セッションが既に存在する場合は接続し、存在しない場合は新しく作成する便利な機能です。スクリプトや自動化された環境で便利に使用できます。
- セッション存在確認プロセスを省略
- スクリプトで安定したセッションアクセスを保証