在终端名称中显示 TTY 名称

在终端名称中显示 TTY 名称

我想知道如何在终端窗口名称中显示终端当前使用的 TTY。我没有在终端首选项中看到任何选项,可以使用 gnome-terminal 在终端窗口名称上显示此类内容。

我之所以问这个问题,是因为我在 Mac OS X 上使用终端,并且我可以在首选项中设置以显示终端当前正在使用的 TTY,只是想知道如何对 gnome-terminal 执行相同操作,是的,我知道 Mac 和 Linux 上的终端完全不同,但它们共享相同的 UNIX 命令行内容。

我可以添加.bashrc.profile附加一些内容到终端的窗口名称中吗?或者我可以添加一些东西dconf使其成为自定义选项?

我确实知道输入tty是一种选项或ps -a显示它,但它只显示在终端窗口输出内,但在窗口名称中,我希望它始终显示,并且对于打开的每个新窗口或选项卡,即;/dev/tty/1,,/dev/tty/2/dev/tty/3...例如附加到窗口标题。

Terminal | tty/1
Terminal, tty/2

答案1

您可以按如下方式修改.bashrc

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;$(tty | cut -d/ -f3,4) | ${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

现在新的 gnome-terminal 将如下所示:

在此处输入图片描述

请注意,gnome-terminal 使用伪终端,请参阅w 输出中的“pts/”是什么意思?

答案2

PROMPT_COMMAND像这样设置~/.bashrc

PROMPT_COMMAND='echo -ne "\033]0;$(tty | sed s:/dev/::)\007"'

请注意,该标题可能会被其他内容覆盖,例如您的提示(PS1),因此请务必至少检查PS1您的标题是否未被设置。

参考:

相关内容