如何创建 tmux 会话的副本?

How to create a copy of a tmux session?

我创建了一个名为 template 的 tmux 会话,我在其中进行了一些硬配置,由于出于安全原因不能在纯文本文件中手动输入的密码,因此无法编写脚本。

现在我需要在配置的环境中执行独立任务,因此我的想法是创建 template 会话的 N 个独立副本,根据需要为每个新任务创建一个副本。我想做类似的事情:

tmux copy-session -t template -s task_1
tmux copy-session -t template -s task_2
...
tmux copy-session -t template -s task_N

所以我不需要为每个任务重复那个硬配置。

有什么办法吗?

"copy" 会话是什么意思? tmux 无法告诉您在每个窗格启动后做了什么,因此它无法真正复制它,它能做的最好的事情就是使用与启动窗格相同的命令创建程序,您可以轻松地自己编写脚本。

适用于我的情况的解决方案是打开一个新终端,在那里进行所有配置,导出相关环境变量,然后然后启动tmux,它将继承父环境。在 tmux 中,我为每个任务创建一个 window;每个 window 将以配置的设置开始。