如何将当前正在运行的进程名称放入GNOME终端选项卡标题(或只有一个选项卡时标题栏)?
尽管https://superuser.com/questions/42362/gnome-terminal-process-name-in-tab-title提供了一个解决方案(如下所示),但它在启动时会使每个选项卡完全混乱,从而显得破碎。还有更好的方法吗?
case "$TERM" in
xterm*|rxvt*)
set -o functrace
trap 'echo -ne "\e]0;$BASH_COMMAND\007"' DEBUG
PS1="\e]0;\s\007$PS1"
;;
*)
;;
esac
答案 0 :(得分:4)
好吧,因为每个人似乎都知道David Pashley的解决方案,所以我很惊讶我花了这么长时间才找到这个。 它实际上解决了bash-completion问题。
要明确:我自己在这里做了什么,但研究。所有功劳归功于Marius Gedminas(http://mg.pov.lt/blog/bash-prompt.html)。
这对我来说非常适合Gnome-Terminal / Terminator
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
# Show the currently running command in the terminal title:
# http://www.davidpashley.com/articles/xterm-titles-with-bash.html
show_command_in_title_bar()
{
case "$BASH_COMMAND" in
*\033]0*)
# The command is trying to set the title bar as well;
# this is most likely the execution of $PROMPT_COMMAND.
# In any case nested escapes confuse the terminal, so don't
# output them.
;;
*)
echo -ne "\033]0;${USER}@${HOSTNAME}: ${BASH_COMMAND}\007"
;;
esac
}
trap show_command_in_title_bar DEBUG
;;
*)
;;
esac