我有一个 shell 别名:
ssh -A -t hostname tmux new -A
这主要是我想要的。如果远程主机上存在现有会话,则会附加到该主机。如果没有会话,则会创建一个新会话。这正是我大多数时候想要的,这样我就可以回到因网络故障而孤立的会话。
当我偶尔想从不同的窗口打开同一主机的两个会话时,就会出现问题。当我在第二个窗口中运行该命令时,它会看到现有会话并附加到它。我现在有两个窗口附加到同一个会话。我真正想要的是:
If there's a *detached* session, attach to it
Else, create a new session.
这可能吗?如果重要的话,我的桌面是 MacOS,我的所有目标主机都是 Debian Linux。我与
一起跑步set-option -g prefix None
在我的 .tmux.conf 文件中。
就像这样:
alias sshtmux='ssh -A -t hostname tmux new -A -s'
然后使用
sshtmux sess-1
创建或附加到 sess-1
和 sshtmux sess-2
以进行另一个会话。