S∆SS.

S∆SS Studio Notes · Tmux · Nº 00

Tmux — 00 Tmuxと四層の構造

tmuxはターミナルマルチプレクサだ。まずSession、Window、Pane、Clientを区別し、なぜ各ショートカットの前に既定のprefixを押すのかを整理する。

§ 00 · tmux — ターミナルを分け、再接続するプログラム

tmuxは、一つのターミナル内で複数のターミナルプログラムを動かせるターミナルマルチプレクサだ。シェル、エディタ、サーバー、AIコーディングツールなどをWindowとPaneに分けて起動し、一つの画面で切り替える。

外側のターミナルを閉じたりリモート接続が切れたりしても、tmux serverが動いている間は、その中のプロセスを実行し続けられる。ただし、コンピュータの再起動、tmux serverの終了、すべてのSessionの終了に耐える永続ストレージではない。会話履歴を保存するかどうかも、tmuxではなく各プログラムが決める。

§ 01 · ServerからPaneまで — 四つの層を区別する

tmux serverは、Sessionとその中のプログラムの状態をバックグラウンドで管理する。Clientは、外側のターミナルから特定のSessionを画面に接続して見るための接続側だ。一つのSessionには複数のWindowがあり、一つのWindowには一つ以上のPaneがある。

Windowはブラウザのタブに近い。現在のWindow一つを画面いっぱいに表示し、番号や名前で切り替える。Paneは、そのWindowを長方形に分割した領域だ。キーボード入力は、現在のWindowのactive Pane一つに送られる。

tmuxの構造用語集
用語機能たとえ
ServerすべてのSessionと実行状態を管理するバックグラウンドプロセス建物の管理室
Client外側のターミナルからSessionに接続する画面と入力建物の出入口
Session複数のWindowをまとめる作業単位一つのプロジェクトの作業台
Window一つ以上のPaneを収め、番号や名前で切り替える画面ブラウザのタブ
Pane実際のターミナルプログラム一つを表示する長方形の領域分割画面の一枠

§ 02 · Prefix — Ctrl-bを押してからコマンドキーを押す

既定のprefixはC-b、つまりCtrlを押しながらbを押す組み合わせだ。tmuxのショートカットの多くは、C-bを押して手を離し、その後で次のキーを押す二段階になっている。C-b cなら、Ctrl-bとcを同時に押すのではなく、先にprefixを送り、その後でcを押す。

prefixは「次のキーはシェルや実行中のプログラムではなくtmuxが受け取れ」という合図だ。この記事のショートカットはすべて既定の設定を前提とする。設定ファイルでprefixやキーバインドを変更した場合は、実際の設定を優先する。C-b ?で現在のキー一覧を開ける。

記事を読む: sass.studio.