TypechoJoeTheme

MetMan's Blog

网站页面

打造永不离线的Tmux开发环境

MetMan博 主神仙
2024-11-19
/
0 评论
/
102 阅读
/
492 个字
/
百度已收录
11/19
本文最后更新于 2024年11月19日,已超过 102天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

最近服务器经常重启,导致个人定制的Tmux开发环境总是失效,因此研究如何保存tmux环境的方法使其在机器重启后依然能够使用。

经过研究发现通过tmux插件tmux-resurrecttmux-continuum插件组合能够满足我的需求,能够(定时)自动保存tmux会话到磁盘、自动加载会话功能。

其中插件resurrect负责手动保存会话(到文件)、恢复tmux会话环境,而continuum在rescurrect基础上能够进一步自动保存恢复会话。

项目地址

插件安装

本人使用Tmux插件管理器TPM自动安装以上两个插件,也可以根据插件说明手动安装。

~/.tmux.conf配置文件中加入以下配置信息(前提是TPM已经安装):

# ~/.tmux.conf

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'
set -g @continuum-restore 'on'
set -g @resurrect-capture-pane-contents 'on'

run -b '~/.tmux/plugins/tpm/tpm'

进入tmux环境后,按PREFIX + I组合键安装插件。如果离线服务器使用,可以在有网络的机器安装成功后将~/.tmux/plugins目录拷贝到离线服务器。

使用

tmux-resurrect手动操作通过快捷键完成保存、加载会话:

  • PREFIX + CTRL s:保存会话
  • PREFIX + CTRL r:加载会话

但continuum能够自动化完成以上操作。在~/.tmux.conf加入continuum设置可以进一步自动保存、恢复会话功能,不需要手动操作。自动恢复仅在tmux服务器启动时发生,其它行为(比如source .tmux.conf)不能触发自动恢复。

set -g @continuum-save-interval '15'  # 每隔15分钟自动保存会话
set -g @continuum-restore 'on'        # 开启自动恢复会话功能

tmux环境会自动保存到文件中,这些文件放置在~/.tmux/resurrect或者~/.local/share/tmux/resurrect目录下。比如我保存的tmux环境

其中last指向最新保存的tmux环境,自动恢复最新的环境。当然你也可以通过last指向某个先前的tmux环境文件恢复先前的会话。

设置完成后就可以愉快的使用tmux了。意外惊喜是这种基于文件保存tmux环境方式在有多个登录节点的高性能集群环境中也能够快速恢复tmux会话环境。

tmux
朗读
赞(0)
赞赏
感谢您的支持,我会继续努力哒!
版权属于:

MetMan's Blog

本文链接:

https://blog.metman.top/index.php/archives/151/(转载时请注明本文出处及文章链接)

评论 (0)

互动读者

标签云

最新回复

  1. tqymnonccc打酱油
    2024-09-27
  2. toibdpojay打酱油
    2024-09-22
  3. yvctxyevvw打酱油
    2024-09-22
  4. frezhwzwuq打酱油
    2024-09-22
登录
X
用户名
密码