Stack
tmux + psmux:跨平台 Terminal Multiplexer 工作流
在 Unix-like 與 Windows 上建立接近一致的 terminal multiplexer 體驗,讓 SSH 登入後可以接回既有工作狀態。
我想解決的問題
在 Linux、macOS、BSD 這類 Unix-like 環境中,我習慣使用 tmux 管理多個 shell、長時間執行的工作、遠端 session 與分割窗格。
但我也常在 Windows 上工作,而且希望可以從另一台電腦 SSH 到 Windows,不開遠端桌面,直接把 PowerShell 裡的工作狀態接回來繼續操作。
如果不想只為了 tmux 使用 WSL,就需要一個接近 tmux 操作模型的 Windows 原生替代工具。
這組工作流的核心不是讓每個平台完全相同,而是讓操作模型盡量一致。
工具組合
| 平台 | 工具 | 最簡單安裝方式 | 用途 |
|---|---|---|---|
| Unix-like | tmux | brew install tmux | session、window、pane、detach / attach |
| Windows | psmux | winget install psmux | Windows 原生 tmux-like terminal multiplexer |
brew install tmux 特別適合 macOS;Linux / BSD 上則通常改用該發行版或系統的套件管理器。winget install psmux 則是 Windows 上快速測試 psmux 的最直接路徑。
適合誰
- 同時使用 Unix-like 與 Windows 的開發者
- 經常比較不同作業系統、生態系與終端工作流的人
- 經常在 terminal 裡工作的人
- 需要長時間保存 terminal session 的人
- 希望 SSH 到 Windows 後像 SSH 到 Linux 一樣接回 session 的人
- 希望減少跨平台心智切換的人
不適合誰
- 幾乎不使用 terminal 的使用者
- 所有開發工作都已經固定在單一作業系統的人
- 需要完全一致功能與完全一致設定檔的人
推薦理由
這組工具的價值在於建立共同的 terminal 工作模型:
- session:以專案或任務切分工作上下文
- window:在同一 session 中切分主要工作區
- pane:同時查看 shell、log、測試與監控資訊
- detach / attach:讓工作狀態可以離開 terminal 後繼續保留
實務建議
Unix-like 環境優先使用 tmux。
Windows 有兩條路:
- 如果已經使用 WSL,可直接在 WSL 裡使用 tmux。
- 如果想在 Windows 原生 terminal 工作,尤其是希望透過 SSH 接回 PowerShell session,可測試 psmux。
後續可補內容
- 我的
.tmux.conf最小設定 - Windows OpenSSH Server + PowerShell + psmux 測試心得
- tmux、psmux、zellij、wezterm panes 比較
- 遠端開發情境下的 terminal multiplexer 使用方式