更改终端标题

更改终端标题

我想制作一个alias启动某个程序并将终端标题更改为程序名称的 shell。我怎样才能做到这一点?

以防万一,我正在 Ubuntu 上运行终端并通过 ssh 连接到 Debian 服务器。

答案1

trap在 Bash 中,我在 my 的最后一行使用以下命令.bashrc 将所有命令回显到标题栏。

# trap commands and echo them to xterm titlebar. Must be last line.
trap 'echo -ne "\033]0;$BASH_COMMAND $USER@${HOSTNAME}>$(pwd)\007"' DEBUG

因此,如果您执行sleep 10,您将看到标题栏sleep 10在命令执行期间更改为 ,之后它将更改回user@host>pwd

答案2

大多数终端将某个转义序列识别为尝试更改标题,因此这将起作用:

$ alias foo-with-title='echo -ne "\033]0;foo\007"; foo'

答案3

我想要类似在打开窗口时在窗口上设置标题的东西,因为有时我在终端顶部有一个很大的用户界面,并且想要跳入和跳出不同的窗口。我最终在我的.bashrc文件中定义了一个函数,因为别名不允许中间有参数(如果我理解正确的话):

# Set the title for a terminal window:
# - first parameter is the title text
title() {
  echo -ne "\033]0;$1\007"
}

然后使用 运行它title foo,它可以在命令行运行,也可以由其他命令调用。这对我在 Debian 上使用 Xfce 终端有效。

相关内容