当前位置: 首页>>技术问答>>正文


如何更改Gnome-Terminal标题?

, , ,

问题描述

我有几个终端在我的工作环境中运行,我希望为每个终端设置一个特定的标题,以便清楚地了解特定终端的用途,例如Apache,editing_ini,postgres等。

当然从命令行。

最佳解决思路

  • 用户最友好的方式是从菜单中选择终端 – > “设置标题…”。

  • 还有其他方法,但你也可以发布

    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。

command-line,gnome-terminal,titlebar,ubuntu

第五种思路

啊,很多答案…

我尝试了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’,’Editing’等标题相关的不同配置文件。然后,您将启动具有适当配置文件的gnome-terminal以获取您指定的终端标题。这与gnome-terminal --title "name"形成鲜明对比,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设置生效。可用于gnome-terminal的完整设置可以用gconftool-2 -R /apps/gnome-terminal列出。

第八种思路

另一种解决方案是使用xdotool模拟击键,在脚本中可能很有用:

  1. 在gnome-terminal中设置键盘快捷键:

    Edit > Keyboard Shortcuts... > Terminal > Set Title
    

    例如分配Shift+Ctrl+Y

  2. 如果您尚未安装xdotool,请安装:

    sudo apt-get install xdotool
    
  3. 以下命令序列(也可以在bash脚本中使用)将设置终端/选项卡标题(使用\转义空格):

    xdotool key ctrl+shift+y 
    xdotool type My\ new\ fabulous\ title
    xdotool key Return
    
  4. [可选]您也可以使用xdotool来例如使用以下命令打开一个新选项卡并设置标题:

    xdotool key ctrl+shift+t
    

    考虑在打开新标签之前和之后添加休眠时间,例如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"' 

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/376.html,未经允许,请勿转载。