重新启动后还原tmux会话

肯德尔B

有什么方法可以保存tmux会话吗?换句话说,如果我重新启动计算机,是否总是会丢失会话?

达卡丁

是的,如果您重新启动计算机,则将丢失会话。会话无法保存。但是,可以编写脚本。实际上,大多数操作是编写一些会话脚本,以便您可以重新创建它们。例如,下面是创建会话的简单shell脚本:

#!/bin/zsh                                                                                                   

SESSIONNAME="script"
tmux has-session -t $SESSIONNAME &> /dev/null

if [ $? != 0 ] 
 then
    tmux new-session -s $SESSIONNAME -n script -d
    tmux send-keys -t $SESSIONNAME "~/bin/script" C-m 
fi

tmux attach -t $SESSIONNAME

这就是它的作用。首先,它使用tmux has-session检查该名称是否已经存在任何会话(在本例中,原始名称为“ script”)它检查返回码。如果已经有一个具有该名称的正在进行的会话,则它将跳过“ if”循环,直接转到最后一行,它将附加到会话上。否则,它将创建一个会话并向其发送一些密钥(现在仅运行随机脚本)。然后退出“ if”块并附加。

这是一个非常琐碎的示例。附加之前,您可以创建多个窗口,窗格等。

这会不会是你问同样的事情,但。如果您对会话进行了任何更改,例如,您重命名了一个窗口并在其中创建了一个新窗格,如果重新启动,这些更改当然不会被保存。

有一些工具可以简化脚本编写会话的过程,尽管我更喜欢手动操作(我认为它更通用)。这些工具是TmuxinatorTeamocil

我的主要信息来源是Tmux的《实用书架》一书。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章