在Ubuntu 14.10中,如果我同时打开了多个终端标签页,我可以右键点击终端标签页并重命名。但是在Ubuntu 15.04中,我找不到这个功能。
有没有简单的方法可以把它恢复回来?
这是当前的版本:
有没有简单的方法可以把它恢复回来?
这是当前的版本:
$ gnome-terminal --version
GNOME Terminal 3.14.2
$ gnome-terminal --version
GNOME Terminal 3.14.2
set-title(){
ORIG=$PS1
TITLE="\e]2;$@\a"
PS1=${ORIG}${TITLE}
}
$ set-title test-title
在这里回答了这里
我引用:
The
user title
code was removed1 fromgnome-terminal 3.14
. There's only one way to set the title, using an escape sequence - e.g. withbash
:PROMPT_COMMAND='echo -ne "\033]0;YOUR TITLE GOES HERE\007"'
1: see gnome bug 724110 and gnome bug 740188.
gnome-shell
起,GNOME就注定要失败。也消失了在新窗口或选项卡中打开新终端的菜单(但你仍然可以通过快捷键来完成。为什么呢?!将一切都替换成一个巨大的智能按钮:点击它就能做任何事情!) - ShinTakezousudo apt-get install roxterm
我已经尝试了上面提到的RoxTerm,并且效果不错。但是我最终选择了MATE终端,它是MATE项目的一部分,这是Gnome 2的延续,在15.04版本上:
sudo apt-get install mate-terminal
现在我已经花了大部分时间进行调查,最终找到了设置这个标题的方法。它是通过以\e]0;开头并以BEL字符(= \007 = \a)结尾的转义序列完成的。与我上面所说的不同,通过这种转义序列(还有一些其他的转义序列),从Shell到终端应用程序的通信是可能的,但非常有限。
关于上面提到的内容:
PROMPT_COMMAND='echo -ne "\e]0;YOUR TITLE GOES HERE\a"'
它可以工作,但并不总是如此。 PROMPT_COMMAND
是一个变量,每次发送命令时都会执行其内容,因此它也会发送这个转义序列。然而,这可以被 PS1 变量中的转义序列覆盖,该变量设置了命令行提示符。这就是为什么上面在这里没有效果。
从一个较旧的 Ubuntu 安装中,我获取了以下内容,它设置了命令提示符(右侧部分,在 ]
之后),并且还发送了所需的转义序列(左侧部分,直到并包括 ]
):
PS1="\[\e]0;\u@\h: \w\a\]\u@\h:\w\$ "
PS1="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "
享受!
PS1
的先前定义,例如设置自定义命令提示符。我刚刚尝试将您的转义序列添加到现有的PS1
内容上,似乎可以工作。像这样:`PS1+="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "`
- ahcoxPROMPT_COMMAND='echo bla'
set-title "longer and "
之后:echo $PS1 \[\e]0; \u@\h: \w \a\]\u@\h:\w\[\033[m\]$(__git_ps1)$ \e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a
- ahcoxControl + Z
暂停进程,然后使用set-title X
来设置标题,最后使用fg
恢复进程。 - ronan_mac