1

我正在开发一个同时打开多个终端窗口的 Ubuntu VM。我在它们之间切换了很多次,很难跟踪哪个窗口有哪个目的。所以我想做的是从命令行发出某种命令,永久改变窗口的标题。一种方法是修改以下行.bashrc,例如,将单词添加FOO到标题中:

PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@${InstName}:FOO:\w\a\]$PS1"

那我会做source .bashrc的。问题是我只有一个.bashrc和多个窗口。因此,如果我一个接一个地打开两个窗口而不更改行.bashrc,我将FOO同时拥有它们。所以我想从每个窗口发出一个命令。我怎么做?

注意:上面一行FOO中的东西PS1也很重要,所以我想要的本质上是将一个特定于窗口的字符串添加到上面的通用PS1规范中。

4

3 回答 3

1

用于$$获取 PID:

PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@${InstName}:PID$$:\w\a\]$PS1"

编辑

你可以定义一个变量mytitle

PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@${InstName}:$mytitle:\w\a\]$PS1"

并产生具有新标题的新终端

export mytitle=WINDOW1 && gnome-terminal
export mytitle=WINDOW2 && gnome-terminal
于 2013-05-15T20:03:48.517 回答
0

如果要更改窗口标题或选项卡标题,尚不完全清楚。有关窗口标题,请参阅https://askubuntu.com/questions/22413/how-to-change-gnome-terminal-title wmctrl -r :ACTIVE: -N "MyWindowTitle"

于 2013-05-15T19:56:59.687 回答
0

这个类似的问题从“trtayloriv”得到了更好的答案,解释了设置它的最直接方法以及为什么在编辑“~/.bashrc”文件中设置的 PS1 环境变量之前它不起作用。然后还有如何添加一个函数来避免记住神秘的 echo 命令。

https://askubuntu.com/questions/30988/how-do-you-set-the-title-of-the-active-gnome-terminal-from-the-command-line

这是不同的(也许更好),因为您可以更果断地将标题设置为脚本本身的一部分,而不是在外部/在启动终端/脚本之前设置标题。至少对我来说,这更具确定性,因为我的脚本已经知道它们在做什么,我只是希望它们能够清楚地识别自己,无论我如何运行它们(从桌面双击或通过另一个终端会话启动)。

于 2014-06-28T09:00:36.427 回答