通过 pane option 来 save/load 你的 tmux session - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
oaa
V2EX    分享创造

通过 pane option 来 save/load 你的 tmux session

  •  
  •  
    oaa
    woodgear 2024-06-15 23:56:51 +08:00 2180 次点击
    这是一个创建于 541 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://smsmpulupulu.hashnode.dev/the-best-way-to-saverestore-your-tmux-session

    tmux 很好用。但当想用他来保存状态的话有几个问题

    tmux 自己只专注于终端分屏的部分,没有自带的保存 layout ,恢复 layout 的功能

    tmux 直到 2.3 的时候( 2016 年。。好像也不是很晚)的时候才支持 panel 级别的 title

    默认的 panel title 是自动变化的,当你 ssh 的时候,会自动变成远端的主机名。这个特性看起来很好。但是当你同时连接多个相同的节点时,很难单从主机名上回想起这个 pane 到底是想干什么 与之相对的 zellij 在 pane 重命名的部分做的就很不错。但这次我们还是主要讲 tmux 。。

    第一个点。save/load layout 实际上有很多 tmux 的衍生项目在做。

    tmuxinator tmuxp 这类的要义在于你先定义一个配置文件( yaml etc ),由这些工具帮你构造出一个 tmux 的 session 。(不过 tmuxp 提供了 freeze 命令 能够将当前的 layout 保存起来)

    tmux-resurrect 更是直接把自己做成了插件,让你能够通过快捷键,保存所有的 session 。

    tmux-resurrect 只能同时保存和还原所有的 session 。不能单独的保存/还原某个 session

    在我看来,以上这些工具的问题在于,他们想自己做的太全了。完全没有必要。在使用者自己提供了一些 hint 之后,体验就能做的更好好。

    5 条回复    2024-06-18 12:42:13 +08:00
    wisetc
        1
    wisetc  
       2024-06-16 07:53:52 +08:00 via iPhone
    detach mode 不是就过大部分的场景,恢复 session 这种运行中的程序进程好像还是会遇到问题,对关机重启很有作用
    oaa
        2
    oaa  
    OP
       2024-06-16 20:13:40 +08:00 via Android
    恩。所以我的想法就是在创建新 pane 的时候就要指定好如何重建这个 pane 。
    kuanat
        3
    kuanat  
       2024-06-17 02:12:27 +08:00
    这个是不是考虑方向偏了?我觉得有必要明确区分 layout/session ,恢复 layout 是个容易的事情,但恢复 session 不是个很好的方向。

    我个人的意见,session 很廉价,完全可以预先开很多 session (习惯通过 systemd service 管理),无论是 ssh 还是本地连接的时候直接 attach 到对应的 session 里面。

    对于非重启环境,直接 detach 就可以了。对于重启环境,没想到要恢复 session 的应用场景。
    corvofeng
        4
    corvofeng  
       2024-06-17 08:54:43 +08:00
    https://github.com/corvofeng/kubemux

    分享一下我写的这个工具, 也提供 tmuxinator 部分支持
    oaa
        5
    oaa  
    OP
       2024-06-18 12:42:13 +08:00
    @kuanat 赞同,这里主要讲的确实是重建 session 。
    使用场景的话 比如你搞了个测试环境,各种 ssh 看日志什么的。现在电脑重启 或者要在别的电脑(家里的电脑之类的)上继续工作了。这个时候就需要重建 session 了。
    还有一种场景是 某些工作不是一口气能完成的,要想办法降低下次把这东西拾起来继续做的成本,这里指的就是建环境这部分的成本。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     935 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 19:47 PVG 03:47 LAX 11:47 JFK 14:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86