如何在tmuxinator会话中的每个窗格上设置唯一标题?
我正在尝试运行多个窗格,以显示通过ssh向不同服务器运行的htop的输出。我的配置如下所示:
project_name: Server Monitor
windows:
- servers:
layout: tiled
panes:
- ssh -t -i mykey.pem user@server1 htop
- ssh -t -i mykey.pem user@server2 htop
- ssh -t -i mykey.pem user@server3 htop当我用tmuxinator local启动它时,它可以很好地运行命令,并且我可以看到htop的输出。但是,所有窗格看起来都是一样的,并且不显示SSH标题,这使得几乎不可能区分哪个窗格对应于哪个服务器。
如何更改我的配置以便在每个窗格上显示唯一的标题?
This example显示在底层的tmux中支持此功能,但我不确定如何通过tmuxinator访问此功能。
发布于 2017-12-17 17:36:41
您需要做的是首先在您的.tmux.conf中使用以下代码行启用窗格状态:
set -g pane-border-format "#{pane_index} #{pane_title}"
set -g pane-border-status bottom然后将printf命令添加到tmuxinator配置中,该命令将发送适当的转义序列以动态设置窗格标题。现在每个窗格将有2个命令,因此您需要添加另一个带有名称的缩进级别。
project_name: Server Monitor
windows:
- servers:
layout: tiled
panes:
- p1:
- printf '\033]2;%s\033\\' 'server1'
- ssh -t -i mykey.pem user@server1 htop
- p2:
- printf '\033]2;%s\033\\' 'server2'
- ssh -t -i mykey.pem user@server2 htop
- p3:
- printf '\033]2;%s\033\\' 'server3'
- ssh -t -i mykey.pem user@server3 htop至少需要tmux 2.3才能在边框中显示窗格标题。
发布于 2019-07-16 23:16:47
对于遇到这种情况的任何其他人:
undefined method shellescape for #<Array错误。您仍然需要将这些内容添加到.tmux.conf中
set -g pane-border-format "#{pane_index} #{pane_title}"
set -g pane-border-status bottom您只需在ssh命令前添加一个;,然后执行以下操作:
name: myBoxes
root: ~/
windows:
- hosts:
layout: tiled
panes:
- printf '\033]2;%s\033\\' 'role_storage_v45 : hostname2.net'; ssh 10.20.30.1
- printf '\033]2;%s\033\\' 'role_dns_v15 : hostname1.net'; ssh 10.20.30.2https://stackoverflow.com/questions/47800955
复制相似问题