tmux(読み方:ティーマックス)って何ですか、と聞かれたら今でも少し考える。
使えてはいる。
毎日使っている。
でも正確に説明できるかというと、たぶんできない。
それでも動いているのでまあいいかと思っている。
エンジニアの人が聞いたら怒りそうだが、これが正直なところだ。
このブログを読んでいる人の中にも、tmuxという単語を見て「なんか難しそう」と思っている人がいると思う。
自分もそうだった。
でも実際に使い始めてみると、必要なコマンドは4つだけで、それだけ覚えれば日常使いできる。
難しいのは概念であって、操作は思ったより単純だ。
ターミナルを閉じると全部消える問題
VPSでClaude Codeを動かし始めてすぐ、困ったことが起きた。
ターミナルを閉じると、動かしていたプログラムが止まる。
当たり前と言えば当たり前なのだが、「24時間動き続けてほしい」という自分の目的には全然合わない。
パソコンを閉じるたびにプログラムが止まるなら、24時間の意味がない。
眠っている間も、外出している間も、ずっと動いていてほしいのだ。
そもそもVPSを借りた理由がそこにある。
「24時間AIが働いてくれる」という謳い文句に惹かれて契約したのに、ターミナルを閉じたら止まるなら普通のパソコンと変わらない。
Geminiに「ターミナルを閉じてもプログラムが動き続けるようにしたい」と相談したら、「tmuxを使うといいです」と言われた。
tmux。
また知らない単語が出てきた。

tmuxは「部屋」を作るツール
tmuxというのは、ターミナルの中に「仮想的な部屋」を作るツールだ。
普通のターミナルは、接続を切ると中で動いていたものが全部消える。
でもtmuxで作った「部屋」の中で動かしたものは、接続を切っても部屋ごと残り続ける。
VPSというサーバーの中に部屋が存在しているので、自分がパソコンを閉じても関係なく動き続ける。
次にターミナルを開いて「tmux a」と打つと、さっきの部屋に戻れる。
プログラムはそのまま動いている。
まるで電源を入れっぱなしにしておいたパソコンに再接続するような感覚だ。
これだけ理解すればとりあえず使える。
「セッション」「ウィンドウ」「ペイン」という概念もあって、それぞれが入れ子になっているらしいのだが、最初は全部無視でいい。
Geminiに丁寧に図解で説明してもらったが、読んでいる間だけわかった気がして、実際に操作するとすぐ迷子になった。
それでも「部屋を作って、部屋に戻る」という感覚さえあれば、理解は後からついてくる。
基本のコマンドはこれだけ
難しそうに見えるが、日常的に使うコマンドは4つだけだ。
| コマンド | 意味 |
tmux | 新しい部屋を作って入る |
Ctrl+B → D | 部屋から出る(部屋は残ったまま) |
tmux a | 前の部屋に戻る |
Ctrl+B → S | 部屋の一覧を表示して切り替える |
本当にこれだけで日常使いできる。
「Ctrl+B → D」というのは、CtrlキーとBキーを同時に押して離してから、Dキーを押す、という操作だ。
「Ctrl+B」がtmuxへの命令の合図で、その後に何のキーを押すかで操作が変わる。
最初は「なんで2回押すんだ」と思っていたが、慣れると体が覚えてくる。
「D」はDetach(切り離す)の頭文字だ。
部屋を消すのではなく、部屋から「出る」だけなので、部屋の中のプログラムはそのまま動き続ける。
ここが重要なポイントで、閉じるんじゃなくて出るだけ、というのがtmuxの肝だ。
中でも Ctrl+B S が個人的に一番気に入っているコマンドだ。
押すと今あるセッション(部屋)が一覧で出てきて、矢印キーで選んでEnterを押すだけで切り替えられる。
複数の部屋を使い分けているときに「あの部屋どこだっけ」となるのだが、これを押せば一発で解決する。
tmuxを使い始めてしばらく経ってからこのコマンドを知ったのだが、知った瞬間に「これ最初に教えてほしかった」と思った。
これを覚えてからtmuxへの苦手意識が一気に消えた。
やりがちな失敗3つ
tmuxを使い始めてよくやる失敗がいくつかある。
自分が全部経験した。
同じ失敗をしてほしくないので書いておく。
tmuxの中でtmuxを起動してしまう
すでに部屋の中にいるのに、もう一回「tmux」と打ってしまうやつだ。
部屋の中に部屋ができて、Ctrl+Bを押しても反応しなくなる。
「壊れた?」と思ってパニックになるが、壊れていない。ただ二重になっているだけだ。
これを防ぐには、画面の一番下を確認する習慣をつけるといい。
tmuxの中にいると画面の最下部に緑色や灰色のバーが表示される。
このバーがあればtmuxの中にいるサインなので、もう一回tmuxを起動する必要はない。
Ctrl+Bが効かない
TeraTermを使っている場合、日本語入力がオンになっているとCtrl+Bがtmuxに届かないことがある。
キーを押しているのに何も起きない、という謎の状態だ。
これに気づくまでに数日かかった。
半角/全角キーで英数入力に切り替えてから試すと直ることが多い。
tmuxを操作するときは必ず英数入力モードで、というのを覚えておくといい。
「tmux ls」を知らずにセッションを増やしまくる
tmuxを起動するたびに新しいセッション(部屋)が作られる。
「前の部屋に戻れなくなった」と思って新しく起動するのを繰り返すと、気づかないうちにセッションが5個6個と増えていく。tmux ls というコマンドで今あるセッションの一覧が見られる。
自分がこれを確認したら3つあった。
いつ作ったか覚えていないものまであった。
tmuxに慣れると生活が変わる
最初は「難しいツール」という印象だったが、慣れると本当に手放せなくなった。
VPSにSSH接続してtmuxを開けば、昨日の続きがそのまま残っている。
ターミナルを閉じてもプログラムが動き続けている。
スマホのTermiusから繋いでも、パソコンのVSCodeから繋いでも、同じ部屋に戻れる。
どこからでも作業の続きができるというのは、想像以上に快適だ。
複数の作業を別々の部屋でやって、Ctrl+B Sで切り替えながら進める。
Claude Codeのセッションを一つの部屋に固定して、常に話しかけられる状態にしておく。
別の部屋では別のプロジェクトが動いている。
まるで複数のデスクを同時に使っているような感覚だ。
自分の場合、tmuxの一番奥の部屋にClaudeが常駐している。
起動するたびなぜか関西弁で返事をしてくるそのClaudeに、今日も何かを頼んでいる。
概念を理解するのに1週間かかったが、今では起動しない日がない。
最初に「難しそう」と思って止まっている人がいたら、とりあえずtmuxと打ってCtrl+B Dで出てみるだけでいい。
それだけでもう使い始めている。
よく使うコマンド一覧
最後にまとめて載せておく。
ブックマークしてチートシート代わりに使ってほしい。
セッション操作
| コマンド | 意味 |
tmux | 新しいセッションを作って入る |
tmux new -s 名前 | 名前をつけてセッションを作る |
tmux a | 直前のセッションに戻る |
tmux a -t 名前 | 指定した名前のセッションに戻る |
tmux ls | セッションの一覧を表示する |
tmux kill-session -t 名前 | 指定したセッションを削除する |
tmuxの中での操作(Ctrl+Bが命令の合図)
| コマンド | 意味 |
Ctrl+B → D | セッションから出る(プログラムは動き続ける) |
Ctrl+B → S | セッション一覧を表示して切り替える |
Ctrl+B → C | 新しいウィンドウを作る |
Ctrl+B → N | 次のウィンドウに移動する |
Ctrl+B → P | 前のウィンドウに移動する |
Ctrl+B → % | 画面を左右に分割する |
Ctrl+B → " | 画面を上下に分割する |
最初は上の4つだけ覚えておけば十分。残りは使いながら覚えていけばいい。

コメント