Tmux创建窗口失败:使用中的索引:0

时间:2014-04-18 07:41:22

标签: shell tmux

我有一个类似的脚本,我想创建一个带有各种服务器连接的Windows的tmux会话:

tmux new-session -d -s server-connections
tmux new-window -t server-connections:0 -n 't-u14-nickpl' 'ssh T-U14-NickPL'
tmux new-window -t server-connections:1 -n 't-u12-dev1' 'ssh T-U12-Dev1'
tmux attach -t server-connections

当我运行该文件时,我得到create window failed: index in use: 0。起初我以为脚本执行速度很快,它在索引0处附加到窗口的速度比命令运行的速度快,所以我引入了一个睡眠来确定。

tmux new-session -d -s server-connections
tmux new-window -t server-connections:0 -n 't-u14-nickpl' 'ssh T-U14-NickPL'
tmux new-window -t server-connections:1 -n 't-u12-dev1' 'ssh T-U12-Dev1'
sleep 4
tmux attach -t server-connections

但我仍然得到create window failed: index in use: 0,然后就会发生睡眠。

在索引0处需要更改为绑定到该窗口需要什么?

2 个答案:

答案 0 :(得分:8)

chepner的回答是正确的,但您也可以通过使用-a选项附加窗口来避免指定窗口编号:

tmux new-window -a -t server-connections -n 't-u14-nickpl' 'ssh T-U14-NickPL'
tmux new-window -a -t server-connections -n 't-u12-dev1' 'ssh T-U12-Dev1'

答案 1 :(得分:4)

新会话始终具有初始窗口,因此只要new-session完成,就会占用窗口索引0。而不是显式的new-window命令,只需使用new-session命令本身指定信息。

tmux new-session -d -s server-connections -n 't-u14-nickpl' 'ssh T-U14-NickPL'
tmux new-window -t server-connections:1 -n 't-u12-dev1' 'ssh T-U12-Dev1'
tmux attach -t server-connections