如何更改终端标题

问题描述 投票:0回答:8

我目前在Mac上使用超级终端,但这个问题也适用于其他类型的终端,例如iTerm

如何将终端标题从

username@devicename:~
更改为
~
zsh

目前我的 shell 是 zsh,安装了 oh-my-zsh。 我不是在寻找通过电力线或主题的解决方法。

还有一个问题: 跑步后如何重置回来

echo -n -e "\033]0;SERVER\007"

macos terminal zsh hyperterm vercel-hyper-terminal
8个回答
24
投票

~/.zshrc

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

DISABLE_AUTO_TITLE="true"

13
投票

我在我的

.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"
}

4
投票

您是否通过谷歌搜索寻找答案?怎么样: https://alvinalexander.com/blog/post/mac-os-x/change-title-bar-of-mac-os-x-terminal-window

echo -n -e "\033]0;YOUR TITLE HERE\007"

4
投票

如果您可以在每次打开新的 zsh 终端时将终端名称设置为“Terminal”而不是“username@devicename:~PWD”,您可以执行以下操作:

nano ~/.zshrc

取消注释(可以通过ctrl+W找到该行)

DISABLE_AUTO_TITLE="true"

通过

将更改应用到您的终端
source ~/.zshrc

如果您想为终端设置自定义名称,您可以在 ~./zshrc 文件末尾编写此函数并使用源应用更改。

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

可供使用者:

source ~/.zshrc
stitle new title

3
投票

这对我有用:

DISABLE_AUTO_TITLE="true"

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

2
投票

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

我猜这些选项之一也可能会改变这种行为。就我而言,PWD 正是我想要的。


0
投票

对于 Mac,首先:

brew install wmctrl

然后适用于 Mac 或 Linux

wmctrl -r :ACTIVE: -N "~"

在活动窗口中。如果您想了解选择非活动窗口的方法,请输入 man

wmctrl


0
投票

这建立在此处的一些其他答案的基础上,但提供了更精细的解决方案。

不要将

DISABLE_AUTO_TITLE="true"
放入 .zshrc 文件中并假设您始终想要手动设置所有终端的标题,您可以为 title 命令设置别名,以便仅在需要时覆盖您的终端标题:

# ~/.zshrc

alias title='DISABLE_AUTO_TITLE="true"; title'

使用此别名,每当您尝试使用

title
命令更新终端标题时,您都会关闭自动标题,并且它仅适用于您运行
title
别名的终端会话。

© www.soinside.com 2019 - 2024. All rights reserved.