我如何知道 ssh 连接的远程端正在运行什么命令?

我如何知道 ssh 连接的远程端正在运行什么命令?

Tl;dr - 如何找到在 ssh 连接的远程端运行的命令的名称(例如 $BASH_COMMAND)?

...

我的示例设置是两个 tmux 垂直窗格,

  1. LH 窗格运行具有垂直分割的本地 vim 会话,
  2. RH 窗格运行运行 vim 的 ssh 会话,同样带有垂直分割。

使用 tmux-navigator,我可以从左到右导航前 3 个 vim 缓冲区,但第 4 个(最右边的缓冲区)无法访问。

原因是 tmux-navigator 测试“pane_current_command”的值并将其与“vim”进行比较,然后再决定要分派哪些按键。在右侧 tmux 窗格中,当前命令是“ssh”,而不是“vim”。

我想要做的是测试 (pane_current_command =~ 'ssh'),如果是,检查在连接远端运行的命令?我找不到办法来解决这个问题,所以欢迎提出任何建议?

供参考,该问题几乎与此问题相同,但没有嵌套的 tmux 会话: https://github.com/christoomey/vim-tmux-navigator/issues/12

答案1

通常不可能知道ssh正在运行什么命令。但是,根据您的情况,您可以在启动之前设置窗格标题vim,例如:

printf '\033]2;vim\033\\'

并受到tmux检查pane_title

相关内容