我倾向于在我的屏幕上有一个工作流程,其中有许多终端窗口都在运行 tmux,其中运行着各种不同的东西。我经常发现自己想知道“这个后台进程在哪里运行?” 我可以很容易地找到它运行的 tty 名称(ps 显示它),但是很难弄清楚要查看哪个窗口。
我的明显想法是“让我们使用 tmux 状态行来显示它!”。所以我尝试了命令
set-option -g window-status-format "#(tty):#W#F"
但不幸的是,这似乎只是显示not a tty
在状态行中,而不是窗口的 tty。有什么好的方法可以让它显示 tty 名称吗?
Tmux 是一个终端多路复用器。您的 tmux 服务器为在窗格中运行“内部”tmux 的进程提供 ttys(注意:未拆分为窗格的 tmux 窗口只是一个大的 tmux 窗格)。Tmux 客户端使用通常由终端仿真器或虚拟终端提供的 ttys。这些进程使用它们各自的 tty,tmux 服务器管理数据流,最终您会在 tty 中看到 tmux 客户端显示的窗口、窗格和状态行。
虽然 tmux 服务器本身没有附加到任何 tty。服务器负责刷新状态行。您的 tmux 服务器每次都在调用
tty
您指定并获取的命令。not a tty
似乎您想知道窗格的 ttys,而不是 tmux 客户端使用的 tty。尝试以下 tmux 命令:
笔记:
window-status-current-format
。您可能也想修改它。#{pane_tty}
在我们的格式中,将向您显示相应窗口中最近使用的窗格的 tty。只有当你的每个 tmux 窗口都是一个大窗格时,你的整个想法才会真正有效。