如何从命令行创建包含 windows 的多个 tmux 会话

How can I create multiple tmux sessions containing windows from command line

我正在尝试使用 tmux 为开发会话编写模板脚本。所以我只需要 运行 这个脚本来打开一个新的开发环境。每个会话将有多个 windows - 比如说两个。首先 window(Window1) 可以在创建分离会话时创建为:

tmux new-session -s $TMUX_SESSION_NAME -d -n Window1 (此处 TMUX_SESSION_NAME 是传递给脚本以命名会话的参数)。

但是,如何在同一会话下创建另一个 window?

请注意,我可以按如下方式创建它,但在创建另一个会话时会搞砸。虽然 tmux ls 显示每个会话都有 2 windows,但第二个会话包含第一个会话的所有环境设置(两者都用于完全不同的项目)

tmux new-window-n Window2 tmux attach -t $TMUX_SESSION_NAME

我怀疑 both/all 会话在同一个 /tmp/tmux-SOME_ID/default 套接字下进行,因此出现了这个问题。

请注意,我第一次开始开发会话时,两者都很好 windows。

有什么想法吗?

TL;DR:可能有类似

的内容
tmux new-window -t $TMUX_SESSION_NAME
tmux rename-window -t $TMUX_SESSION_NAME:1 'second'

更多信息(我的配置):

这是我用来启动我的 tmux 会话的。该函数的参数将是您要创建的会话的名称。

如果这不能回答您的问题,请发表评论并编辑您的问题,使我更清楚。

tmuxstart() {
    tmux new-session -d -s  >/dev/null
    tmux rename-window -t :0 'main'
    tmux splitw -v -p 10 -t :0.0
    tmux splitw -h -p 80 -t :0.1
    #required; otherwise pane numbering is bs
    tmux select-pane -t :0.0
    tmux splitw -h -p 5 -t :0.0
    tmux send-keys -t :0.2 'sudo htop' Enter
    tmux send-keys -t :0.1 'tmux clock -t :0.1' Enter
    tmux select-pane -t :0.0
    tmux new-window -t 
    tmux rename-window -t :1 'second'
    tmux splitw -v -p 10 -t :1.0
    tmux splitw -h -p 80 -t :1.1
    tmux select-pane -t :1.0
    tmux splitw -h -p 5 -t :1.0
    tmux clock -t :1.1
    tmux new-window -t 
    tmux rename-window -t :2 'scratch'
    tmux splitw -v -p 10 -t :2.0
    tmux select-pane -t :2.0
    tmux splitw -h -p 5 -t :2.0
    tmux clock -t :2.1
    tmux select-window -t :0.0
    tmux a -t 
}