# tmux 会话持久化与自动恢复完整方案(tmux + tpm + tmux-resurrect + continuum)
本指南介绍一个稳定且成熟的解决方案,让你的 tmux:
- 自动保存会话
- 自动恢复窗口/面板布局
- 终端关闭也保持程序继续运行
- 机器重启也能恢复会话
- 永久持久化所有 tmux 工作状态
解决方案基于 三个核心 tmux 插件:
| 插件 | 功能 |
|---|---|
| tpm | tmux 的插件管理器 |
| tmux-resurrect | 保存与恢复 tmux 会话到磁盘 |
| tmux-continuum | 自动保存 + 定时保存 + 自动恢复 |
# 1. 安装 tmux(版本需 ≥ 3.3)
tmux 在许多 Linux 发行版中的版本较旧(如 Ubuntu 18.04 内置 tmux 2.6)。
为了使用最新插件,推荐使用 tmux ≥ 3.3。
1.1 使用包管理器安装(推荐)
| 平台 | 安装命令 |
|---|---|
| Arch Linux | pacman -S tmux |
| Debian / Ubuntu | sudo apt install tmux |
| Fedora | sudo dnf install tmux |
| RHEL / CentOS | sudo yum install tmux |
| openSUSE | sudo zypper install tmux |
| macOS(Homebrew) | brew install tmux |
| macOS(MacPorts) | sudo port install tmux |
# 2. 安装 TPM(Tmux Plugin Manager)
TPM 是 tmux 的官方插件管理工具,类似于 Vim 的 Plug / Vundle。
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
注意:目录位置必须是:
~/.tmux/plugins/tpm(插件会从此路径加载)
# 3. 创建并配置 tmux 配置文件
tmux 配置文件常见位置(任选其一):
~/.tmux.conf(最常见)~/.config/tmux/tmux.conf
以下教程使用:
~/.tmux.conf
3.1 新建配置文件
touch ~/.tmux.conf
3.2 编辑配置文件
vim ~/.tmux.conf
注入配置(命令方式)**
sudo tee ~/.tmux.conf <<-'EOF'
# =======================
# TPM 插件管理器
# =======================
set -g @plugin 'tmux-plugins/tpm'
# =======================
# 会话保存与恢复插件
# =======================
set -g @plugin 'tmux-plugins/tmux-resurrect'
# =======================
# 自动保存、自动恢复插件
# =======================
set -g @plugin 'tmux-plugins/tmux-continuum'
# 自动保存间隔(单位:分钟)
set -g @continuum-save-interval '15'
# 启动 tmux 时自动恢复上次会话
set -g @continuum-restore 'on'
# 保存 pane 的历史内容
set -g @resurrect-capture-pane-contents 'on'
# 启用鼠标
set -g mouse on
# =======================
# 可选插件:改善复制粘贴体验
# =======================
set -g @plugin 'tmux-plugins/tmux-yank'
# =======================
# 运行 TPM(必须放在最后)
# =======================
run -b '~/.tmux/plugins/tpm/tpm'
EOF
按 i 进入编辑模式,将下面的配置整体粘贴进去。
3.3 完整配置(含中文注释)
# =======================
# TPM 插件管理器
# =======================
set -g @plugin 'tmux-plugins/tpm'
# =======================
# 会话保存与恢复插件
# =======================
set -g @plugin 'tmux-plugins/tmux-resurrect'
# =======================
# 自动保存、自动恢复插件
# =======================
set -g @plugin 'tmux-plugins/tmux-continuum'
# 自动保存间隔(单位:分钟)
set -g @continuum-save-interval '15'
# 启动 tmux 时自动恢复上次会话
set -g @continuum-restore 'on'
# 保存 pane 的历史内容
set -g @resurrect-capture-pane-contents 'on'
# 启用鼠标
set -g mouse on
# =======================
# 可选插件:改善复制粘贴体验
# =======================
set -g @plugin 'tmux-plugins/tmux-yank'
# =======================
# 运行 TPM(必须放在最后)
# =======================
run -b '~/.tmux/plugins/tpm/tpm'
3.4 重新加载配置
如果你已经在 tmux 内:
tmux source ~/.tmux.conf
# 4. 使用 TPM 安装插件
在 tmux 内使用快捷键:
Prefix + I
默认 Prefix =
Ctrl + b
- 屏幕底部显示插件安装进度
- 看到 "TMUX environment reloaded. Done" 即安装成功
- 按 Enter 继续
4.1 命令行管理插件(补充)
- 安装插件:
~/.tmux/plugins/tpm/bin/install_plugins
- 更新所有插件:
~/.tmux/plugins/tpm/bin/update_plugins all
- 更新单个插件:
~/.tmux/plugins/tpm/bin/update_plugins tmux-sensible
- 删除未列入配置的插件:
~/.tmux/plugins/tpm/bin/clean_plugins
# 5. 常用快捷键
| 快捷键 | 功能 |
|---|---|
| Prefix + I | 安装(或更新)插件 |
| Prefix + Ctrl + s | 保存当前所有会话 |
| Prefix + Ctrl + r | 恢复保存的会话 |
| 鼠标右键 | tmux-yank 复制选中内容 |
tmux-continuum 自动保存,通常无需手动保存。
# 6. 工作原理说明
-
tpm
管理 tmux 插件,负责安装 / 更新 / 删除。 -
tmux-resurrect
保存:- tmux 会话结构
- 窗口布局
- pane 命令
- pane 内容
保存路径:~/.tmux/resurrect/
-
tmux-continuum
- 每 15 分钟自动保存一次
- tmux 启动时自动恢复上一次会话
- 可选开机自动启动 tmux
-
tmux-yank
- 改善复制粘贴体验
- 鼠标选中后,释放右键即完成复制
# 7. tmux 的必要性(总结)
① 终端只能开一个窗口?
tmux 可开多个窗口、多个 Pane(分屏)。
② 关闭终端导致进程终止?
tmux 会话与终端分离,关闭 SSH 或 Terminal,任务仍会继续运行。
③ 远程服务器断线导致环境丢失?
tmux-resurrect 可恢复所有窗口、pane、执行路径甚至 pane 内容。
# 8. 参考资料
原创
Tmux安装与插件
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
赞赏支持
如果觉得文章对你有帮助,可以请作者喝杯咖啡 ☕
评论交流
欢迎留下你的想法