我有一个脚本,该脚本使用Tmux在远程系统上运行命令,有时会由于Tmux的list-windows
命令的运行方式而变本加厉。例如,如果我在远程服务器上有两个Tmux会话:session1
和session2
。根据我是否在会话1或会话2中处于活动状态,从Tmux的外部运行tmux list-windows
会给我两个完全不同的结果:
这是一个例子:
[root:kali:]# tmux ls
session1: 2 windows (created Tue Nov 5 18:22:58 2019)
session2: 3 windows (created Wed Nov 6 18:21:04 2019)
[root:kali:]# tmux list-windows
0: zsh* (1 panes) [215x53] [layout 5de0,215x53,30] @28 (active)
1: tool (1 panes) [80x24] [layout 5963,80x24,33] @31
2: script- (1 panes) [215x53] [layout 5de4,34] @32
[root:kali:]# tmux a -t session1
[detached (from session session1)]
[root:kali:]# tmux list-windows
0: zsh- (1 panes) [215x53] [layout bb5d,0] @0
1: msf* (1 panes) [215x53] [layout dde6,27] @25 (active)
在上面的示例中,我所做的只是简单地附加到会话1,然后从其分离。接下来,在运行tmux list-windows
时,您可以清楚地看到它显示的是来自session1而不是session2的窗口。
Tmux是否有办法从Tmux的外部的特定会话中简单列出窗口?从字面上看,这将解决我在相当长一段时间以来一直面临的所有问题。