终端/超级终端在选项卡标题中显示什么?可以自定义吗?

What does terminal / hyperterm display in the tab title? Is it possible to customize this?

我对终端选项卡中显示的数据感到困惑。第一部分 epzio 显然是我的用户名。但是第二部分,@C02S60BBG8WP,我不知道。

注意:我将 zsh 与 oh-my-zsh 结合用于我的 shell。

是否可以自定义选项卡标题中显示的内容?我想完全删除 epzio@C02S60BBG8WP 部分,只显示当前工作目录。

另外,为什么我的标签页标题会莫名其妙地变成蓝色?我认为这只应该在你有一个特定的进程时发生,比如节点 运行。正如您在下面的屏幕截图中所看到的,tic-tac-toe 选项卡已变为蓝色,尽管该选项卡中没有发生任何事情。

更新: 看来解决方案可能涉及对 ~/.oh-my-zsh/lib/termsupport.zsh 进行更改,但我不确定这些是否会在 oh-my-zsh 时被覆盖自行更新。

C02S60BBG8WP 可能是您的主机名;通过输入 hostname.

检查

您可以通过像这样打印转义序列来更改终端标题:

echo -en "3]0;New terminal title\a"

所以这应该将标题更改为您当前的工作目录,$PWD,如果您在 $HOME:

中,则由单个 ~ 代替
echo -en "3]0;${PWD/#$HOME/~}[=11=]7"

如果这不起作用,它可能会在之后立即被您的 shell 自动调用的命令覆盖。在 bash 中,这将是 PROMPT_COMMAND,在我的系统上看起来像这样:

$ echo $PROMPT_COMMAND 
__vte_prompt_command; printf "3]0;%s@%s:%s[=12=]7" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"

zsh equivalent好像是定义了一个precmd钩子:

precmd() { echo -en "3]0;${PWD/#$HOME/~}[=13=]7" }

要使其永久化,您可以将它放在您的 .zshrc 中。