如何从命令行设置活动 gnome-terminal 的标题?

Kit*_*nde 26 command-line gnome-terminal

有没有办法从终端本身内设置 gnome-terminal 标题,而无需右键单击选项卡。就像是:

active-terminal --title "Foo"
Run Code Online (Sandbox Code Playgroud)

之前有一个相关的问题,其答案几乎可以让您这样做:如何更改 Gnome-Terminal 标题?但这并没有仅将 gnome-terminal 选项卡标题设置为窗口标题。

J. *_*lor 47

以下将终端的标题设置为“新终端标题”:

echo -en "\033]0;New terminal title\a"
Run Code Online (Sandbox Code Playgroud)

你可能还必须更改环境变量PS1,第一虽然,否则你的改变将不会显示出来,因为它会在每个命令后重置称号。Ubuntu 附带的默认 .bashrc 包含以下行:

PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
Run Code Online (Sandbox Code Playgroud)

...“\e]0;” 代码告诉它在标题和图标名称属性中写入“\a”之前的所有内容。您需要删除它并将其设置为这样的(即没有 \e]0; 代码):

PS1="${debian_chroot:+($debian_chroot)}\u@\h \w\a$ "
Run Code Online (Sandbox Code Playgroud)

然后,您使用上述 echo 命令所做的任何更改都将更改终端标题。如果你打算经常使用它,你可以将它放入 ~/.bashrc 文件中的一个函数中:

set_term_title(){
   echo -en "\033]0;$1\a"
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过执行以下操作从命令行将标题设置为“小猫”:

set_term_title kittens
Run Code Online (Sandbox Code Playgroud)

(您必须在编辑 .bashrc 后重新启动 bash,以使您的更改生效)

  • 我已经使用您指定的 PS1 更新了我的 /etc/bash.bashrc,但是在设置标题后,也使用您的答案中的命令,没有任何更新。我正在使用 Ubuntu 11.04。有什么改变吗? (3认同)