在 Ubuntu 14.10 中,如果我打开了多个终端选项卡,我可以右键单击终端选项卡并重命名它。在 Ubuntu 15.04 中我找不到此功能。
有什么简单的方法可以将其恢复吗?
这是当前版本:
$ gnome-terminal --version
GNOME Terminal 3.14.2
答案1
.bashrc
解决方案由 Kirby 提议对我有用:
set-title(){
ORIG=$PS1
TITLE="\e]2;$@\a"
PS1=${ORIG}${TITLE}
}
然后从我的提示:$ set-title test-title
答案2
答案3
我不敢相信他们删除了这样一个用户友好的功能。
我正在切换到 ROXTerm (http://roxterm.sourceforge.net),它很好地完成了工作。它在 Ubuntu 中打包:
sudo apt-get install roxterm
那么,让恐龙继续它自己的路吧;-)
答案4
现在我花了大半天时间研究这个问题,终于找到了设置这个标题的方法。它是通过以 \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\$ "
这可能表现更好,因为不需要$PROMPT_COMMAND
每次都解释。它还有更多选项,因为 Bash 在这里有更多转义序列,例如\u
当前用户名、\W
当前目录名或\w
当前工作目录的整个路径,可选择通过 中的数字修剪到最后几个$PROMPT_DIRTRIM
。请参阅 Bash 手册页中的章节。还请注意,这里的转义序列还必须用和PROMPTING
包围。\[
\]
要设置固定标题,可以使用以下命令:
PS1="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "
享受!
在我调查的过程中,我还尝试去理解 gnome-terminal 源代码,从而找到 vte 源代码,其中对标题设置和读取转义序列的支持被认为是一种安全风险:参见这里(案件 20、案件 21)以及这里(“窗口标题报告”)。