Windows 环境下使用 tmux 保持 SSH 会话实战指南
在远程开发或服务器运维中,SSH 连接意外断开是最头疼的问题之一。一旦断网或电脑关机,后台运行的进程往往随之终止。tmux(以及 screen)正是为了解决'SSH 掉线后还能继续原来的会话'而设计的终端复用工具。
简单来说,相比普通 bash/zsh,tmux 能让会话独立于 SSH 连接存在,即使掉线也可以随时重新 attach 回去,程序、窗口布局全部保留。
为什么选择 tmux
| 工具 | SSH 掉线后能连上吗? | 说明 |
|---|---|---|
| 普通 bash / zsh | 不能 | 会话结束,进程收到 SIGHUP 信号 |
| tmux | 能 | 会话独立,掉线后可随时重连 |
| screen | 能 | 功能类似,但 tmux 更流行 |
Windows 环境下的安装与配置
虽然 tmux 原生支持 Linux/Mac,但在 Windows 上我们通常通过 Git for Windows 的 Git Bash (MingW64) 来运行它。从 MSYS2 提取的二进制包可以在 Git Bash 下正常使用。
1. 前置准备
确保已安装 Git for Windows。默认安装路径通常是 C:\Program Files\Git。
2. 获取 tmux 二进制文件
你需要下载适配 Git Bash 的 tmux 包(例如基于 msys2 的版本)。
- 建议从开源项目仓库查找最新构建版本。
- 将解压后的文件释放到 Git 安装目录的
usr文件夹下(如D:\Git\usr),实际可执行文件位于bin\tmux.exe。
如果你使用的是 Ubuntu/Debian 服务器,安装命令如下:
sudo apt update && sudo apt install tmux -y
CentOS/RHEL 用户则使用:
sudo yum install tmux -y
核心用法速查
基础操作
- 新建会话:启动一个带名字的会话,方便管理。
tmux new -s mytrain - 分离会话:不关闭程序,暂时退出回到本地终端。
- 快捷键:按
Ctrl+b然后按d。
- 快捷键:按
- 重新连接:SSH 重连后,找回之前的会话。
tmux attach -t mytrain # 或者简写 tmux a -t mytrain - 列出会话:如果忘记名字了,先看看有哪些。

