来自 byobu/tmux 会话名称的具有动态标题的终端模拟器

来自 byobu/tmux 会话名称的具有动态标题的终端模拟器

在启动时我使用一个小脚本来创建一些 byobu 会话,例如“LOCAL”、“SSH”、“SSH2”、“INTERNAL”、“GUAKE”、“DEV”

我使用 Windows 平铺管理器(awesome wm),并且大多数时候我都会在指定的桌面/标签上保留一个具有特定 byobu 会话的终端模拟器。

目前我使用的是 xfce4-terminal-emulator,它有一个使用动态标题的选项。但是,我发现的所有解决方案似乎都不能与 byobu/tmux 结合使用。
如果我尝试在窗口列表中查找终端窗口,它们都会显示为user@hostname(ip address)-byobu

因此,我想使用一个工作流程,我可以从终端仿真器设置窗口标题,或者在打开(或切换到)byobu 会话时设置它

答案1

终端不需要任何特殊的“动态标题”支持——它实际上只是显示 Byobu(或其他应用程序)要求其显示的任何文本。在这种情况下,byobu 在启动时始终提供相同的静态文本。($BYOBU_NO_TITLE 将完全禁用它。)

更有用的是,您可以通过自定义让 tmux 提供自己的标题(覆盖 Byobu 的静态标题)~/.config/byobu/.tmux.conf

set -g set-titles on
set -g set-titles-string "#(whoami)@#H - byobu (#S)"
set -g set-titles on
set -g set-titles-string "#T (#h.#S.#I)"

完整语法可以在tmux(1)手册页“FORMATS”下 – 在这些示例中,#S是会话名称,#W#I当前窗口名称和索引,等等。

tmux/byobu 内部运行的各种程序通常会提供自己的终端标题,因此将其包含在内#T也很有用。

相关内容