AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 616404
Accepted
Tom
Tom
Asked: 2015-05-01 05:55:18 +0800 CST2015-05-01 05:55:18 +0800 CST 2015-05-01 05:55:18 +0800 CST

Ubuntu 15.04 全新安装:无法重命名 gnome 终端选项卡

  • 772

在 Ubuntu 14.10 中,如果我打开了多个终端选项卡,我可以右键单击一个终端选项卡并重命名它。在 Ubuntu 15.04 中我找不到这个功能。

有没有简单的方法可以找回它?

这是当前版本:

$ gnome-terminal --version
GNOME Terminal 3.14.2
gnome-terminal
  • 6 6 个回答
  • 23012 Views

6 个回答

  • Voted
  1. ronan_mac
    2015-11-27T04:19:27+08:002015-11-27T04:19:27+08:00

    柯比提出的.bashrc解决方案对我有用:

    set-title(){
      ORIG=$PS1
      TITLE="\e]2;$@\a"
      PS1=${ORIG}${TITLE}
    }
    

    然后根据我的提示:$ set-title test-title

    • 33
  2. Best Answer
    A.B.
    2015-05-01T05:59:57+08:002015-05-01T05:59:57+08:00

    在这里回答

    我引用:

    user title代码已从中删除1gnome-terminal 3.14。只有一种方法可以设置标题,使用转义序列 - 例如bash:

    PROMPT_COMMAND='echo -ne "\033]0;YOUR TITLE GOES HERE\007"'
    

    1:参见 gnome错误 724110和 gnome错误 740188。

    • 21
  3. Michael Opdenacker
    2015-05-05T20:49:16+08:002015-05-05T20:49:16+08:00

    我不敢相信他们删除了这样一个用户友好的功能。

    我正在切换到 ROXTerm ( http://roxterm.sourceforge.net ),它可以很好地完成工作。它打包在 Ubuntu 中:

    sudo apt-get install roxterm
    

    那么,就让恐龙继续它自己的路吧 ;-)

    • 18
  4. Doug Van Horn
    2015-11-05T12:43:20+08:002015-11-05T12:43:20+08:00

    我按照上面的建议尝试了 RoxTerm,结果很好。但我在 15.04 上选择了 MATE Terminal,它是 MATE 项目的一部分,是 Gnome 2 的延续:

    sudo apt-get install mate-terminal
    

    该终端基于 Gnome 终端代码。


    评论:很难理解 Gnome Terminal 开发者的心态。那里有很多关于“如何”命名终端选项卡的讨论,以及如何做到正确。如果是这样,为什么要让用户更难命名它们呢?一点也不聪明。

    • 14
  5. Traumflug
    2015-05-02T10:43:37+08:002015-05-02T10:43:37+08:00

    现在我已经调查了一天的大部分时间,终于找到了设置这个标题的方法。它是通过以 \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)和此处(“窗口标题报告”)。

    • 6
  6. Traumflug
    2015-05-01T14:10:56+08:002015-05-01T14:10:56+08:00

    如上所示设置 $PROMPT_COMMAND 在这里效果为零。毫不奇怪,因为 Bash 在终端内运行,父进程(此处为:gnome-terminal)无法在类 unix 操作系统上读取子进程的环境。使用更简单的东西,比如

    PROMPT_COMMAND='echo bla'
    

    执行echo bla,没有其他事情发生。

    编辑:必须将其包装在转义序列中,请参阅我的其他答案。尽管无法读取子环境,但可以通过这些序列与父环境进行一些通信。

    在 Gnome 错误 740188 中,他们讨论了在 .bashrc 中定义一个 title() 函数。打开的每个标签页都有不同的标签页?严重丑陋的黑客攻击,如果可能的话!

    Stackexchange 上的其他解释甚至都在谈论设置 $PS1(并获得投票)。抱歉,不,那不是标题,那是命令提示符。

    简而言之:他们把它搞砸了,无法修复,以在首选项对话框中节省一点空间。我的天啊

    现在,让开发人员恢复决定的唯一机会是引发一场严重的狗屎风暴,否则他们只会在几秒钟内关闭你的错误报告(尝试了很多很多次)。我们将如何制造这场狗屎风暴?

    • 5

相关问题

  • 使用终端应用程序的启动器,如何在程序完成后保持终端打开?

  • 如何为特定任务自动启动终端实例

  • 如何使 gnome-terminal 不透明?

  • Gnome-terminal 快捷方式在选项卡中打开多个 ssh 连接

  • 如何设置终端打开最大化

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve