如何定位特定的tmux会话

我有一个脚本,该脚本使用Tmux在远程系统上运行命令,有时会由于Tmux的list-windows命令的运行方式而变本加厉。例如,如果我在远程服务器上有两个Tmux会话:session1session2。根据我是否在会话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的外部的特定会话中简单列出窗口?从字面上看,这将解决我在相当长一段时间以来一直面临的所有问题。

zhenhuang1980 回答:如何定位特定的tmux会话

是的,您可以为大多数tmux命令指定一个特定的会话。

tmux list-windows -t session2

-t是您选择附加到特定会话(tmux a -t session1)或什至特定会话/窗口/窗格组合的方式。

例如,如果我有一个会话sess,它有3个窗口,每个窗口有4个窗格,并且我想在第一个窗口,第三个窗格中运行htop,我会

tmux send-keys -t sess:0.2 'htop' Enter

tmux中的窗口/窗格的索引为0。

本文链接:https://www.f2er.com/3148382.html

大家都在问