如何更改Gnome-Terminal标题?
我有几个终端在我的工作环境中运行,我想要为每个终端设置一个特定的标题,以便清楚地了解特定终端服务的目的,即Apache,editing_ini,postgres等……
当然是从命令行。
-
最用户友好的方式是从菜单Terminal – >“Set Title …”中选择它。
-
不过还有其他方法,您也可以发布
gnome-terminal --title="SOME TITLE HERE"
这可能无法产生预期的效果,因为
.bashrc
很可能会覆盖该行为。 -
把我们带到最后一个方法,我无耻地从我的
.bashrc
删除了。PROMPT_COMMAND='echo -ne "\033]0;SOME TITLE HERE\007"'
作为额外的参考,这是我的.bashrc
的特定行
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
您可能还需要在〜/ .bashrc中注释掉这段代码
case "$TERM" in xterm*|rxvt*) # JEFFYEE REMOVED because it makes commands to title() not work #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" ;; *) ;; esac
如果您想在每次打开终端时根据您所在的主机设置标题,Ward的答案很棒。 如果你只是想快速设置一个标题,你可以自己运行echo:
echo -ne "\033]0;SOME TITLE HERE\007"
或者制作一个简单的bash脚本,比如termtitle
#!/bin/bash echo -ne "\033]0;${1}\007"
哪个你可以用termtitle "some title here"
如果使用Vim编辑器,还可以在vimrc中启用此选项:
:set title
默认情况下禁用。 它将设置很酷的终端标题,显示您正在编辑的文件名以及其他一些内容。
为了完整起见,我想补充一点,你也可以使用这个命令设置gnome-terminal
标题:
wmctrl -r :ACTIVE: -N "MyWindowTitle"
你需要安装包wmctrl 第一。
唉,这么多答案……
我尝试了wmctrl,它几乎可以工作,除了我无法让它改变图标标题,至少不是永久性的。
解决方案是ubuntu中的PS1设置标题。
默认PS1是
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
…在第一个转义序列中设置标题。
因此,有两种解决方案:
解决方案1:简化PS1,然后使用PROMPT_COMMAND
将PS1更改为更简单的内容:
PS1="\u@\h:\w\$ "
…然后使用PROMPT_COMMAND:
PROMPT_COMMAND='echo -ne "\033]0;SOME TITLE HERE\007"'
解决方案2:直接修改PS1
只需使用新标题修改PS1:
PS1='\[\e]0;newtitle\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
如果您是Ubuntu用户,可以使用HUD更改gnome-terminal选项卡的标题。
在gnome-terminal中,按Alt键调出HUD,输入前几个字母,例如“tit”,按回车键入你的新标题。
这是一种非常快速的方法,可以避免使用鼠标。
改变gnome-terminal
标题的另一种方法是使用gconftool-2
; 这会更改所选配置文件的初始终端标题,因此您可以使用与“Apache”,“编辑”等标题关联的不同配置文件。然后,您将使用相应的配置文件启动gnome-terminal
以获取您拥有的终端标题指定。 这与gnome-terminal --title "name"
形成对比,后者改变了每个终端的标题,但不影响配置文件中指定的初始标题。
您可以在脚本中使用以下命令来设置配置文件的终端名称,并且您可以在当天的特定时间更改终端的名称以提醒您:
gconftool-2 --set /apps/gnome-terminal/profiles/Default/title --type=string "Apache"
这是默认配置文件,但您也可以通过将Default
更改为其他配置文件(如Profile0
来设置其他配置文件的标题:
gconftool-2 --set /apps/gnome-terminal/profiles/Profile0/title --type=string "Editing"
我认为这种改变标题的方式是有用的,因为它可以在脚本中使用,或者只是作为设置配置文件标题的快速命令行方式。 请注意,有时您必须重新启动具有指定配置文件的终端才能使gconftool-2
设置gconftool-2
。 可以使用gconftool-2 -R /apps/gnome-terminal
列出gnome-terminal
的完整设置。
另一个解决方案是使用xdotool来模拟击键,在脚本中可能很有用:
-
在gnome-terminal中设置键盘快捷键:
Edit > Keyboard Shortcuts... > Terminal > Set Title
例如,分配
Shift+Ctrl+Y
-
如果你还没有安装
xdotool
:sudo apt-get install xdotool
-
以下命令序列(您也可以在bash脚本中使用)将设置终端/选项卡标题(使用
\
转义空格):xdotool key ctrl+shift+y xdotool type My\ new\ fabulous\ title xdotool key Return
-
[可选]您也可以使用xdotool打开新选项卡并使用上述命令设置标题,使用:
xdotool key ctrl+shift+t
考虑在打开新标签之前和之后添加hibernate时间,例如
sleep 1
(等待1秒)。
这不是最优雅的解决方案,但它对我有用! 以前的答案在我的案例中不起作用。 我在Ubuntu 14.04中使用gnome-terminal,我想制作一个bash脚本。
要仅显示标题中的当前工作目录,请在“.bashrc”中尝试:
PROMPT_COMMAND='echo -ne "\033]0; ${PWD##*/}\007"'
要么
PROMPT_COMMAND='echo -ne "\033]0;$(basename ${PWD})\007"'
如果像我这样的任何可怜的灵魂被迫使用tcsh,请在.cshrc中尝试这样的事情:
set prompt='%{\033]0;%n@%m\007%}%~%# '
来源和更多细节: http : //tldp.org/HOWTO/Xterm-Title-4.html
这在我的Gnome Terminal 3.18.3中有效 。
编辑.bashrc文件并添加此function
# Update gnome terminal title function termtitle() { # take argument TITLE=$1 shift # update title PROMPT_COMMAND='echo -ne "\033]0; $TITLE \007"' }
不要忘记提供.bashrc文件
$ source ~/.bashrc
然后你可以简单地更新你将能够像这样更改终端标题:
$ termtitle "MariaDB CLI"