tmux(ティーマックス)は、1つの端末の中で複数のシェルを動かし、端末を閉じても作業を残しておけるターミナルマルチプレクサです。最新の安定版は2026年10月8日に正式版が出た3.8です。公式のtmuxはLinux・macOS・BSD系向けで、WindowsではWSLかMSYS2の上で使うか、Windowsで直接動く別実装のpsmux、または公式tmuxを移植したtmux-windowsを入れます。
この記事では、Windows・Mac・Linuxでの導入手順、セッションのデタッチと再接続、画面分割のキー、「閉じる」「抜ける」「削除」の操作の違い、3.8で既定がオンになったマウス操作、.tmux.confの設定例を順に整理します。キー割り当てと既定値は、tmux 3.8をmacOS上で起動し、list-keysとshow-optionsの出力で確かめたものです。
まとめ:tmuxの使い方とWindowsでの導入の要点
- 読み方は「ティーマックス」。terminal multiplexerの略で、セッション・ウィンドウ・ペインの3層で画面を管理します。
- Windowsで公式のtmuxを使うならWSL。Ubuntuなら
sudo apt install tmuxで入ります。WSLを入れずPowerShellのまま使うなら、開発が活発なpsmux(winget install psmux)が第一候補です。 - 操作はプレフィックスキーCtrl+bの後に1キーを押します。
%で左右、"で上下に分割し、dでデタッチ(切り離し)します。 - 作業を残して抜けるならデタッチ、完全に終えるならkill-session。
exitは今いるペインだけを閉じます。 - 3.8からマウス操作が既定でオン。ホイールでそのまま遡れますが、ドラッグした文字はtmux内のバッファに入ります。Windows Terminalで端末側の選択にしたいときはShiftを押しながらドラッグします。
tmuxとは:読み方とセッション・ウィンドウ・ペインの関係
tmuxはterminal multiplexer(端末多重化ソフト)の略で、日本語では一般に「ティーマックス」と読まれます。ISC型の許諾条件で配布されるオープンソースで、GitHubのtmux/tmuxで開発されています。
tmuxを起動すると、裏でtmuxサーバーが立ち上がり、端末はそのサーバーに接続する「クライアント」になります。端末ウィンドウを閉じたりSSHが切れたりしても、サーバー側のシェルやコマンドは動き続けます。後から別の端末で接続し直せば、同じ画面に戻れます。これがtmuxを使う一番の理由です。
| 単位 | 役割 | 例 |
|---|---|---|
| セッション | 作業の単位。デタッチと再接続の対象 | 案件ごとに1つ |
| ウィンドウ | セッション内のタブに当たる画面 | 編集用・ログ用 |
| ペイン | ウィンドウを分割した1区画 | 左に編集、右にテスト |
セッションが残るのはtmuxサーバーが動いている間だけです。OSの再起動やtmux kill-serverで、すべてのセッションとその中のプロセスが終了します。再起動後も配置を戻したい場合は、tmux-resurrectなどのプラグインか、起動スクリプトで組み直します。
Windowsでtmuxを使う方法:WSL・psmux・tmux-windows・MSYS2の比較
tmux 3.8のREADMEが挙げる対応OSはOpenBSD・FreeBSD・NetBSD・Linux・macOS・Solarisで、Windows向けの公式バイナリはありません。Windowsでtmuxを動かす方法は下の表の上4つで、最後のWindows Terminalは比較用に並べた端末アプリのペイン分割です。
| 方法 | 中身 | ペイン内のシェル | 最新版 |
|---|---|---|---|
| WSL+tmux | 公式tmux(Linux版) | bashなどLinuxのシェル | ディストリの版 |
| psmux | tmux互換の別実装(Rust製) | PowerShell・cmd.exeなど | v3.4.0(2026-10-13) |
| tmux-windows | 公式tmuxのフォークを移植 | cmd.exe・PowerShellなど | v3.6a-win32.7(2026-03-01) |
| MSYS2+tmux | 公式tmux(MSYS2版) | MSYS2のbash | 3.8(2026-10-13ビルド) |
| Windows Terminal | 端末アプリのペイン分割 | 任意のプロファイル | tmuxではない |
判断の軸は「ペインの中でどのシェルを使うか」です。Linuxのコマンドやサーバー作業が中心ならWSL、PowerShellのスクリプトやWindowsのコマンドが中心ならpsmuxを選びます。tmux-windowsは公式tmuxのコードに最も近い一方、2026年3月から更新が止まっているため、いま新しく入れるならpsmuxのほうが無難です。
WSL上のUbuntuにtmuxを入れる手順
WSLが未導入なら、管理者として開いたPowerShellでwsl --installを実行し、再起動します。既定ではUbuntuが入ります。その後、Ubuntuの端末で次を実行します。
sudo apt update
sudo apt install tmux
tmux -V
入る版はUbuntuのリリースで決まり、Ubuntu 24.04では3.4、Ubuntu 26.04では3.6aです。どちらも3.8より古く、マウス操作の既定はオフのままです。WSLそのものの仕組みや有効化の詳細はWSL2とは?WSL1との違い・仕組み・インストール手順、開発環境としての整え方はWSLで開発環境を構築する手順で扱っています。
psmuxでWSLなしに使う手順と注意点
psmuxは、WindowsのConPTYを直接使って動くRust製のターミナルマルチプレクサです。tmuxのコマンド体系で操作でき、既存の.tmux.confも読み込みます。ライセンスはMITで、動作要件はWindows 10/11、PowerShell 7以上が推奨されています。
winget install psmux
psmux new -s work
wingetのほか、Scoop・Chocolatey・cargo install psmuxでも入ります。psmuxのほかにpmuxとtmuxという名前のコマンドも入るので、Linuxと同じ打ち方で起動できます。2026年10月13日のv3.4.0では、3つの実行ファイルとインストーラーにコード署名が付き、「不明な発行元」の警告が出なくなりました。同じ版で、Ctrl+b→*のフローティングペインと、Claude Codeなど1画面ずつ描くアプリのちらつきを抑える同期出力(DECSET 2026)にも対応しています。
注意点は、psmuxがtmux開発元のソフトではなく、第三者による別実装であることです。README自身が「移植でもラッパーでもない」と説明しており、互換表には意図的に挙動を変えたコマンド(複数ソケットでのkill-serverなど)が載っています。tmuxの記事やプラグインがそのまま動くとは限らないため、.tmux.confが複雑な場合は互換表(docs/compatibility.md)を先に確認してください。
tmux-windows(公式tmuxの移植版)の導入手順と制限
tmux-windowsは、公式リポジトリtmux/tmuxをフォークし、MSVCとConPTYでWindows向けにビルドした移植版です。arndawg/tmux-windowsで公開されており、wingetで入ります。
winget install -e --id arndawg.tmux-windows
tmux new -s work
動作要件はWindows 10 バージョン1809以降で、CygwinもWSLも要りません。シェルは環境変数COMSPECで決まり、未設定ならcmd.exeが起動します。設定ファイルの~はUSERPROFILEを指すので、%USERPROFILE%\.tmux.confに置きます。
README_WIN32.MDの既知の制限には、コントロールモード(-C)非対応が挙がっています。iTerm2のtmux -CCのような連携は使えません。最新リリースは2026年3月1日のv3.6a-win32.7で、元にしたtmuxは3.6a、GitHubのスターは35(2026年10月25日時点)です。3.7以降のフローティングペインは入っていないため、公式tmuxと同じコードで動くことを重視する場合に限って選ぶのがよいでしょう。psmuxとtmux-windowsは、どちらもtmux.exeを入れます。両方を入れると、PATHで先に見つかった方が起動します。
MSYS2・Cygwinのtmuxの版と保守状況
MSYS2のmsysリポジトリにはtmux 3.8が登録されており、MSYS2の端末でpacman -S tmuxを実行すると入ります。動くのはMSYS2のbashの中で、使い勝手はLinuxのtmuxに近くなります。Cygwinにもtmuxのパッケージはありますが、2026年10月時点で安定版は3.3a(2024年1月)のままで、3.7b-1はテスト扱い、メンテナーも不在(ORPHANED)です。これからWindowsで環境を作るなら、Linuxと同じパッケージがそろうWSLのほうが手間は少なく済みます。
Windows Terminalのペイン分割との違い
Windows Terminalにもペイン分割があり、Alt+Shift++で左右、Alt+Shift+-で上下に分かれ、Ctrl+Shift+Wで閉じます。画面を分けるだけならこれで十分です。
違いはセッションの永続化です。Windows Terminalのペインは、ウィンドウを閉じるとその中のプロセスも終了します。起動時の設定(firstWindowPreference)をpersistedLayoutAndContentにするとタブとペインの配置と画面に出ていた文字が、persistedLayoutにすると配置だけが次回起動時に戻ります。どちらでも、中で動いていたプロセスは終了したままです。tmuxはデタッチしても裏で動き続け、SSH先のサーバーでも同じことができます。両方の利点がほしい場合は、Windows Terminalの中でWSLのtmuxやpsmuxを起動します。Windows Terminal自体の版と設定はWindows Terminalの最新版と新機能の解説にまとめています。
Linux・macOSへのtmuxのインストールと版の確認
公式Wikiのインストール手順どおり、各OSのパッケージマネージャーで入ります。
# Ubuntu / Debian
sudo apt install tmux
# Fedora / RHEL系
sudo dnf install tmux
# macOS(Homebrew)
brew install tmux
# 版の確認
tmux -V
ディストリビューションが配る版は上流より古いことがあります。2026年10月時点の主な版は次のとおりです。
| 配布元 | tmuxの版 | マウスの既定 |
|---|---|---|
| 上流(GitHub) | 3.8(2026-10-08) | オン |
| Homebrew | 3.8 | オン |
| MSYS2 | 3.8 | オン |
| Debian 13 backports | 3.7c | オフ |
| Ubuntu 26.04 | 3.6a | オフ |
| Debian 13 | 3.5a | オフ |
| Ubuntu 24.04 | 3.4 | オフ |
3.7以前から3.8へ上げたときは、起動中のtmuxサーバーをtmux kill-serverで一度終了させてから起動し直してください。3.8のリリースノートは、更新後にtmuxを完全に再起動することを重要事項として挙げています。kill-serverは全セッションと中で動いている処理をすべて終了させるので、実行前に作業を保存し、長い処理が終わっていることを確かめてください。
Macの標準ターミナル・iTerm2とtmuxの違い
Macの標準ターミナルもCommand+Dでウィンドウを2つのペインに分割できますが、これは同じ画面の別の位置を見比べるための分割で、ペインごとに別のシェルは動きません。デタッチして後から戻る機能もありません。
iTerm2とtmuxの違いは、iTerm2がMacの端末アプリで、tmuxはその中で動くソフトだという点です。iTerm2単体でもシェルを並べて分割できますが、iTerm2を閉じれば中のシェルも終わります。SSH先の作業を残したいならtmuxを併用します。iTerm2ではtmux -CCで起動すると、tmuxのウィンドウとペインがiTerm2のタブと分割としてそのまま表示されます(tmux統合モード)。iTerm2側の設定はiTerm2とは?Macのおすすめターミナルを参照してください。
セッション操作:作成・デタッチ・再接続・削除のコマンド
セッションの操作は、シェルから打つコマンドと、tmuxの中で押すキーの2通りがあります。キーはすべて、プレフィックスキー(既定はCtrl+b)を押して離してから次のキーを押します。
tmux new -s work # 名前付きでセッションを作成
# Ctrl+b → d # デタッチ(セッションは残る)
tmux ls # セッション一覧
tmux list-windows -t work # セッション内のウィンドウ一覧
tmux attach -t work # 再接続(tmux a -t work でも同じ)
tmux rename-session -t work dev # 名前を変更
tmux kill-session -t dev # セッションを削除
tmux kill-server # 全セッションを削除
tmuxの中では、Ctrl+b→sでセッションの一覧から選んで切り替え、Ctrl+b→$で今のセッション名を変更できます。3.8では、Ctrl+b→Tabでウィンドウを、Ctrl+b→Shift+Tabでセッションを素早く切り替える画面(switch-mode)が下部に開きます。
tmuxを抜ける・閉じる・終了する操作の違い
「抜ける」「閉じる」は、残すものによって使う操作が変わります。取り違えると、動かしていたコマンドまで止めてしまいます。
| やりたいこと | 操作 | 中のプロセス |
|---|---|---|
| 作業を残して抜ける | Ctrl+b→d | 動き続ける |
| 今のペインを閉じる | exitまたはCtrl+b→x |
そのペインだけ終了 |
| 今のウィンドウを閉じる | Ctrl+b→& | ウィンドウ内が全部終了 |
| セッションを削除する | tmux kill-session -t 名前 |
セッション内が全部終了 |
| tmuxを完全に終了する | tmux kill-server |
全セッションが終了 |
Ctrl+b→xとCtrl+b→&は確認のプロンプトが出るので、yで確定します。シェルからウィンドウを閉じるならtmux kill-window -t 名前です。ウィンドウに残った最後のペインでexitするとそのウィンドウが閉じ、セッションに残った最後のウィンドウだった場合はセッションも終了します。
画面分割とウィンドウ操作のキー一覧
tmux 3.8の既定のキー割り当てから、よく使うものを抜き出しました。すべてCtrl+bの後に押します。
| キー | 動作 |
|---|---|
% |
左右に分割 |
" |
上下に分割 |
| 矢印キー | ペインを移動 |
o |
次のペインへ移動 |
z |
ペインの最大化と解除 |
T |
ペインのタイトルを変更(3.8で追加) |
c |
新しいウィンドウ |
n/p |
次/前のウィンドウ |
0〜9 |
番号でウィンドウを選ぶ |
w |
ウィンドウ一覧から選ぶ |
| Tab | ウィンドウの切り替え画面(3.8で追加) |
, |
ウィンドウ名を変更 |
? |
キー一覧を表示 |
分割の向きは名前が紛らわしい点に注意してください。%が実行するのはsplit-window -h(horizontal)ですが、ペインは左右に並びます。3.8のlist-keys -Nも%を「Split window horizontally」、"を「Split window vertically」と説明しています。「水平分割」「縦分割」と検索したときに逆の説明を見かけるのはこのためで、実際にどちらに並ぶかで覚えるのが確実です。
ペインのサイズ変更・入れ替え・レイアウト
Ctrl+bを押した後、Ctrlを押したまま矢印キーを押すと、その方向にペインの境界が1セルずつ動きます。Ctrlの代わりにAltを押したままにすると5セルずつ動きます。{と}でペインを前後と入れ替え、Space(スペースキー)で左右均等・上下均等などのレイアウトを順に切り替えます。ペインを独立したウィンドウに切り出すのは!です。
フローティングペインの作り方と動かし方(3.7〜3.8)
フローティングペインは、分割したレイアウトの上に重ねて置けるペインです。3.7で初期実装が入り、3.8で通常のペインとの相互変換、コマンドでの移動とサイズ変更、既定のキー割り当てがそろいました。
| 操作 | 動作 |
|---|---|
Ctrl+b→* |
フローティングペインを作る |
| Ctrlを押しながらドラッグ | 新しいフローティングペインを作る |
| Altを押しながらドラッグ | フローティングペインを移動する |
Ctrl+b→g→矢印・1〜4 |
上下左右・四隅へ寄せる |
Ctrl+b→> |
メニューから通常のペインへ戻す(Tile)・浮かせる(Float) |
3.8のリリースノートでは、3.9でポップアップ(display-popup)をフローティングペインに置き換える予定が示されています。ポップアップを多用する設定を書いている場合は、3.9の変更点を確認してから更新してください。
マウス操作とコピーモード:スクロール・選択・コピー
3.8ではmouseオプションの既定がオンに変わりました(CHANGESの「The mouse option now defaults to on.」)。マウスでペインやウィンドウを選べ、ホイールを上に回すとそのままコピーモードに入って過去の出力を遡れます。3.7以前はオフが既定なので、Ubuntu 24.04などで入る版ではset -g mouse onを書かないとホイールで遡れません。
マウスがオンだと、ドラッグで選んだ文字は端末アプリではなくtmuxが受け取ります。指を離すとtmuxのバッファにコピーされ、Ctrl+b→]で貼り付けます。OSのクリップボードにも入るかどうかは端末しだいです。set-clipboardの既定externalでは、tmuxは端末にOSC 52という制御シーケンスでコピーを依頼し、端末がこれを受け付ければOS側にも入ります。公式Wikiのクリップボードの解説のとおり、対応や既定の有効・無効は端末によって違い、受け付けない端末ではtmux内のバッファにだけ残ります。3.8に上げてから「選択した文字を貼り付けられない」と感じるのはこの場合です。Windows Terminalでは、公式ドキュメントのとおりShiftを押しながらドラッグすると、tmuxに渡さず端末側の選択になります。端末側の選択を常に使いたいなら、.tmux.confにset -g mouse offを書きます。
キーボードで遡るときは、Ctrl+b→[でコピーモードに入り、矢印キーやPageUpでスクロールし、qで抜けます。遡れる行数は既定で2000行です。コピーモードのキーは既定でEmacs風で、環境変数VISUALかEDITORに「vi」を含むときだけvi風になります。明示的にvi風にするならset -g mode-keys viを書きます。
.tmux.confの設定例と反映方法
tmuxは起動時に、~/.tmux.conf、$XDG_CONFIG_HOME/tmux/tmux.conf、~/.config/tmux/tmux.confのうち存在するものを順に読み込みます。片方だけでなく両方に置くと両方の設定が効くので、置き場所はどちらか1つにそろえてください。よく使われる設定をまとめた例です。tmux 3.8で読み込めることを確認しています。
# プレフィックスをCtrl+aに変更
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# マウス操作を有効化(3.8以降は既定でオン。3.7以前向け)
set -g mouse on
# ウィンドウとペインの番号を1から始める
set -g base-index 1
setw -g pane-base-index 1
# スクロールで遡れる行数を増やす(既定は2000)
set -g history-limit 50000
# 分割したペインを今いるディレクトリで開く
bind % split-window -h -c "#{pane_current_path}"
bind '"' split-window -v -c "#{pane_current_path}"
# プレフィックス → r で設定を再読み込み
bind r source-file ~/.tmux.conf \; display "reloaded"
編集した設定は、起動中のtmuxでtmux source-file ~/.tmux.confを実行すると反映されます。~/.config/tmux/tmux.confに置いた場合は、このコマンドと設定例のbind rの行もそのパスに書き換えてください。プレフィックスをCtrl+aに変えると、シェルの「行頭へ移動」やGNU screenの操作と重なります。どちらを優先するか決めてから変更してください。
3.8では配色も変わり、端末のライト/ダークに合わせた組み込みテーマが既定(themeオプションがdetect)になりました。以前の端末の色に戻したい場合はset -g theme terminalを書きます。
tmux 3.6〜3.8の主な変更点
公式のCHANGESから、日常の操作に関わる変更を抜き出しました。
| 版 | 公開日 | 主な変更 |
|---|---|---|
| 3.8 | 2026-10-08 | マウス既定オン・テーマ・フローティングペインの完成 |
| 3.7c | 2026-08-17 | 3.7系の修正版 |
| 3.7 | 2026-06-26 | フローティングペイン(Ctrl+b→*)を追加 |
| 3.6b | 2026-05-20 | 3.6系の修正版 |
| 3.6 | 2025-11-26 | ペインごとのスクロールバーを追加 |
3.8の公開日はGitHubのリリース一覧では9月9日と表示されますが、これはリリース候補版を出したときの日付です。開発者がリリースの問い合わせ用issueで、タグと配布物を差し替えても日付が更新されないと説明しており、正式版のタグとtmux-3.8.tar.gzは10月8日に作られています。
3.8ではほかに、コピーモードが画面の更新に追従するrefresh-on(既定はオフ・rで1回更新)、スクロールバーの自動非表示、OSC 133によるコマンド開始・終了のフック、アタッチ時に端末の表示をスクロールバックへ残すclear-on-attachが加わりました。
tmuxが向く場面と向かない場面
tmuxが最も効くのは、SSH先で時間のかかる処理を動かす場面です。ビルドやデータ移行をtmuxの中で始めてデタッチすれば、回線が切れても処理は止まりません。SSH接続そのものの設定はSSH接続の仕組みと安全な運用設定の解説で扱っています。
AIコーディングエージェントの並列実行にも使われます。Claude CodeのAgent Teamsは、既定ではメインの端末の中でチームメイトを切り替える表示(in-process)で、チームメイトごとにペインを分ける表示にはtmuxかiTerm2が必要です。公式ドキュメントはWindows Terminal・VS Codeの統合ターミナル・Ghosttyを分割表示の非対応としており、WindowsではpsmuxがREADMEでAgent Teamsへの対応を明記しています。仕組みはClaude Code Agent Teamsの解説、エージェントの状態表示に特化した多重化ツールはherdrの使い方とインストールの解説を参照してください。
逆に、ローカルPCで画面を分けたいだけなら、tmuxを入れる必要はありません。Windows TerminalやiTerm2、WezTermのペイン分割で足ります。tmuxのキー操作を覚える手間に見合うのは、「接続が切れても作業を残したい」場面があるときです。
tmuxでよく出るエラーと対処
- sessions should be nested with care, unset $TMUX to force:tmuxの中でさらに
tmux newを実行したときのエラーです。別のセッションへ移るなら、Ctrl+b→sで切り替えます。 - no server running on …:tmuxサーバーが終了しているのに、ソケットのファイルが残っている状態で
tmux lsを実行すると出ます。tmux attachではno sessionsと表示されます。どちらもtmux newで作り直します。 - Vimなどで色が崩れる:
default-terminalの既定値はビルド時に使えたterminfoで決まり(tmux-256colorが最優先)、Homebrew版3.8ではtmux-256colorでした。tmuxの中からSSHで入った先のサーバーにこのterminfoが無いと表示が乱れます。接続先にtmux-256colorのterminfoを入れるか、set -g default-terminal "screen-256color"に切り替えます。この設定は新しく開いたペインから効くので、変更後は新しいペインからSSHし直してください。
よくある質問
tmuxの読み方は?
一般に「ティーマックス」と読みます。terminal multiplexer(ターミナルマルチプレクサ)の略です。
Windowsでtmuxは使えますか?
Windows向けの公式版はありません。WSLのUbuntuにsudo apt install tmuxで入れるか、MSYS2でpacman -S tmuxを実行します。PowerShellのまま使いたい場合は、tmux互換の別実装であるpsmuxをwinget install psmuxで入れます。公式tmuxの移植版tmux-windowsもwingetで入りますが、3.6aを元にした版で更新が止まっています。
tmuxのセッションを削除するには?
tmux kill-session -t セッション名で1つずつ削除し、tmux kill-serverですべてを削除します。削除すると中で動いていたプロセスも終了します。作業を残して抜けるだけなら、Ctrl+b→dでデタッチします。
tmuxで画面を分割するキーは?
Ctrl+bを押した後、%で左右、"で上下に分割します。分割したペインは、Ctrl+bの後に矢印キーを押して移動します。
tmuxの画面をスクロールするには?
3.8以降はマウスのホイールでそのまま遡れます。3.7以前は.tmux.confにset -g mouse onを書くか、Ctrl+b→[でコピーモードに入って矢印キーやPageUpで遡ります。qで元に戻ります。