如何更改终端标题

9
我目前在Mac上使用Hyper终端,但这个问题也适用于其他类型的终端,例如iTerm。
如何将终端标题从username@devicename:~更改为~zsh
当前我的shell是安装了oh-my-zsh的zsh。我不想通过powerline或主题来解决问题。
还有一个问题: 运行echo -n -e "\033]0;SERVER\007"后如何重置回去?
7个回答

20

~/.zshrc文件中

取消注释以下行以禁用自动设置终端标题。


DISABLE_AUTO_TITLE="true"

我必须重新启动终端才能使更改生效。 - anandhu

9
我在我的.zshrc文件中使用了这个内容:
# oh-my-zsh seems to enable this by default, not desired for 
# workflow of controlling terminal title.
DISABLE_AUTO_TITLE="true"

function set_terminal_title() {
  echo -en "\e]2;$@\a"
}

3

那不是我想要的结果。我在我的Mac内置终端上尝试了echo -n -e "\033]0;SERVER\007",现在看起来像是username@devicename -- ~ -- -zsh。我该如何将其重置回去?此外,是否有更多类似于.zshrc的方法? - Joseph K.
如果远程连接到计算机,则此方法无效。 - alper

3

如果你想要在每次打开ZSH终端时将终端名设置为“Terminal”而不是“username@devicename:〜PWD”,可以执行以下操作:

nano ~/.zshrc

取消注释(您可以通过按Ctrl+W查找该行)

DISABLE_AUTO_TITLE="true"

通过以下方式将更改应用于您的终端

source ~/.zshrc

如果您想为终端设置自定义名称,您可以在~./zshrc文件末尾编写此函数,并使用source应用更改。
function stitle() {
  echo -en "\e]2;$@\a"
}

可被使用者使用:

source ~/.zshrc
stitle new title

2

在iterm 2 3.3.3中,有一个设置在“首选项- >配置文件- >通用-基础- >标题”下,您可以将其设置为PWD(和其他几个选项)。最近,他们似乎更改了一些与此相关的内容,这会覆盖.zshrc中的任何内容。

我猜其中一个选项也可能关闭此行为。在我的情况下,PWD正是我想要的。


2
这对我有效:
DISABLE_AUTO_TITLE="true"

case $TERM in xterm*)
    precmd () {print -Pn "\e]0;%~\a"}
    ;;
esac

0

对于 Mac,首先:

brew install wmctrl

然后针对Mac或Linux

wmctrl -r :ACTIVE: -N "~"

在活动窗口中。如果您想选择一个非活动窗口,可以键入 man wmctrl 以了解方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接