• tmux 使用 tmux-resurrent 保存当前工作环境


      tmux 是一个终端窗口复用工具软件,借助 tmux 的功能,用户可在单个终端窗口上实现多窗口,面板的管理功能.笔者有一个对 tmux 基础功能使用的介绍终端分屏复用工具 tmux 基本操作教程.

      tmux 通过会话的概念对用户的窗口进行管理,会话中保存有用户使用的窗口,面板等信息.当用户从当前会话中脱离( detach )的时候,会话并不会结束,而是在后台继续运行,使得在会话中运行的程序不会受用户脱离的影响,而当用户重新接入( attach )同一会话时,当前终端即重新显示会话中的内容.上述这些功能在使用单一终端登录的远端服务器时是很有用的,用户创建对应的会话后,运行其中的程序不会受用户网络链接断开,终端关闭等问题的影响,而是在后台运行的会话中保持运行.(一般 Linux 服务器版本会内置 screen 命令来提供类似功能,screen 命令基本操作教程)

      tmux 提供终端复用功能的一个重要基础在于用户脱离( detach )会话后,会话会在后台运行,进而用户的工作环境得以保持.但是当设备重启/关机时( 这在个人设备上使用时尤其常见 ),tmux 会话也会对应的停止,使得重启之后需要用户手动的去重新进行窗口创建,面板划分等操作.

      这里主要介绍一个 tmux 的插件 tmux-resurrent 来进行 tmux 会话的保存. tmux-resurrent 可以保存当前会话的窗口,面板划分等信息,还可以配置对某些软件的状态进行恢复,从而使得 tmux 可以对会话进行保存,方便在设备重启后工作环境的恢复.

      Tmux Plugin Manager 安装

      tmux 可以使用 Tmux Plugin Manager(TPM) 进行插件的管理.其安装也很简单.

      1.克隆 TPM 至本地.  

        git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm    //克隆 TPM 至本地的 ~/.tmux/plugins/tpm 目录

      2.将以下内容添加到 tmux 的配置文件 ~/.tmux.conf 的尾部.注意最后的 run -b '~/.tmux/plugins/tpm/tpm' 命令需要始终放在该配置文件的最后一行.

        # List of plugins
        set -g @plugin 'tmux-plugins/tpm'
        set -g @plugin 'tmux-plugins/tmux-sensible'
    
        # Other examples:
        # set -g @plugin 'github_username/plugin_name'
        # set -g @plugin 'git@github.com/user/plugin'
        # set -g @plugin 'git@bitbucket.com/user/plugin'
    
        # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
        run -b '~/.tmux/plugins/tpm/tpm'

      3.修改完成配置文件后即完成 TPM 的安装,此时新打开的 session 即支持 TPM 的功能.对于已经打开的 tmux 会话,可以会话中通过以下命令使得上述修改生效.  

        tmux source ~/.tmux.conf    //在 tmux 会话中输入命令使得 TPM 配置生效

      4.在完成 TPM 的安装后,可以通过 TPM 提供的功能进行插件的安装和管理功能.更多可以参考 TPM 的 github.这里介绍下插件安装的功能.使用 TPM 安装 tmux 插件主要有两步.

      第一步是在配置文件 ~/.tmux.conf 中加入对应的插件的信息.添加的格式可以参考 tpm 安装时对应配置信息中注释的部分的格式.

        set -g @plugin 'xxxxx'        //在配置文件中添加插件信息,格式可参照 tpm 安装时的注释的格式

      第二步即在 tmux 会话中执行安装命令.具体而言是 <prefix> + I( 大写 i ),在默认情况下,即为 Ctrl + b + I.上述命令会将对应的插件下载到本地( ~/.tmux/plugin 文件夹中 ),进行插件安装.

        <prefix> I    //在 tmux 会话中通过命令安装对应的插件

      若要更新对应的插件,使用 <prefix> + u 命令.若要删除对应的插件,则首先要在配置文件 ~/.tmux.conf 中移除对应的插件的信息.再通过 <prefix> + alt + u 命令卸载该插件.注意卸载插件并不会删除对应的插件的目录,用户需要手动进行删除.

      tmux-resurrent 插件安装

      根据上面介绍的 TPM 安装插件的步骤进行 tmux-resurrent 插件的安装.

      1.在配置文件 ~/.tmux.conf 中加入 tmux-resurrnet 插件的信息.

        set -g @plugin 'tmux-plugins/tmux-resurrect'    //配置文件中加入 tmux-resurrent 插件信息

      2.在 tmux 会话中执行 TPM 安装命令,即 <prefix> + I( 大写 i ).执行命令后可查看目录 ~/.tmux/plugin/ 下是否存在对应的插件.

        <prefix> I        //默认情况下为 Ctrl + b + I,进行插件的安装

      3.在插件完成安装后即可借助 tmux-resurrent 插件进行当前会话的保存.通过 <prefix> + Ctrl + s 保存当前会话.在用户保存会话关机重启后,可在新创建的会话中通过 <prefix> + Ctrl + r 命令在 tmux 会话中恢复保存的会话.默认情况下 tmux-resurrent 会保存会话中的窗口状态,面板划分等等信息,还包括对某些程序的恢复( 可参考页面 Restoring programs ),更多的 tmux-resurrent 命令的功能可参考其 github. tmux-resurrent 插件保存的会话信息默认存放在目录 ~/.tmux/resurrent 目录中.

        <prefix> Ctrl s    //保存当前会话
        <prefix> Ctrl r    //加载保存的会话

       4.目前实现中, tmux-resurrent 保存的工作环境信息以 txt 文件的形式存放在 ~/.tmux/resurrent 目录下,该目录下有一个软链接 last 指向最近一次保存的工作环境 txt 文件.当用户加载保存的会话时,即恢复的是软链接 last 所指向的保存配置文件.相应的,通过修改 last 软链接的指向即可选择使用 <prefix> Ctrl r 命令加载某一次的会话保存设置. Linux 环境下对软链接的创建/删除/修改通过 ln 命令执行.其中 -s 表示使用符号链接( symbolic link ).

        ln -s link_target link_name         //创建软链接 link_name,其指向 link_target
        rm -rf link_name                    //删除名为 link_name 的对象( 注意名字后面不要加 '/' )
        ln -snf link_target link_name       //修改/创建指向 link_target 的软链接 link_name

      在 ~/.tmux/resurrent 目录下时,使用上述命令修改 last 的指向,进而选择加载某次保存的会话设置.

        ln -snf xxxx last                //修改 last 指向的保存文件
  • 相关阅读:
    几种开源SIP协议栈对比OPAL,VOCAL,sipX,ReSIProcate,oSIP
    google开源的C++性能分析工具
    常用SNS开源系统比较
    推荐20个开源项目托管网站
    web2.0的几个开源项目
    开源src镜像
    Niagara解决设备连接应用的软件框架平台技术。
    Signing key has not been configured
    Mybatis 简单的CRUD 基于XML文件配置
    HDU4451Dressing(计数)
  • 原文地址:https://www.cnblogs.com/yhjoker/p/12845975.html
Copyright © 2020-2023  润新知