GNOME 终端 3.28.2 (Ubuntu 18.04)

GNOME 终端 3.28.2 (Ubuntu 18.04)

我见过各种帖子关于使用多个选项卡启动 gnome-terminal ,下面的脚本对我有用。也就是说,该脚本将启动带有各种工作目录或配置文件的 gnome-terminal。 。 。

#!/bin/sh
gnome-terminal \
--tab --working-directory=$HOME/notes  \
--tab --working-directory=$HOME/puppet \
--tab --profile=root-beamish           \
--tab --profile=odyssey                \
--tab --profile=root

...但我想为每个选项卡设置一个唯一的标题。

在选项卡有自己的配置文件的情况下,我可以从 gnome-terminal 中更改标题,Edit | Profiles | (NAME) | Edit | Title and Command然后将“初始标题”更改为我想要的,并将“当终端命令设置自己的标题时”从“替换初始标题”更改为“保留初始标题”。但是,我不想为每个选项卡创建唯一的配置文件。我想要一个通用的解决方案。

我尝试过添加--title='MyTitle',但似乎没有帮助。我在 CentOS 6 上使用 GNOME 2.28.2。

答案1

使用该-t选项。 (看gnome-terminal --help-terminal-options

gnome-terminal \
--tab -t "notes" --working-directory=$HOME/notes  \
--tab -t "puppet" --working-directory=$HOME/puppet \
--tab -t "beamish" --profile=root-beamish           \
--tab -t "odyssey" --profile=odyssey                \
--tab -t "root" --profile=root

-------- 更新于 2011-11-15 22:00:00 --------

所以...这对我在 Solaris 11 Express 和 gnome-terminal 2.30.2 上有用。

从那时起,我就能够在使用 2.32.1 的 Ubuntu 11.04 (Natty) 上对其进行测试,并发现与您完全相同的行为。

对于 Ubuntu,我能够将其跟踪到 ubuntu.bashrc文件。特别是,该部分如下所示:

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

在本例中,PS1 变量正在针对匹配xterm*和 的终端类型进行扩展rxvt*

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

PS1="\[\e]0;特别是和之间的部分\a\]。这些会变成窗口标题。

一旦我注释掉整个case语句,带有该选项的 gnome-terminal 的行为-t就会按预期工作。我也会看看是否能找到一个 CentOS 6 机器来测试这个。


-------- 更新于 2017-11-1 09:38:00 --------

因此,看起来最新版本的 Gnome-Terminal 已经取消了一些有用的功能,例如-t设置终端标题的简单选项。

仍然可以在运行时设置终端标题,但现在很难看。您可以在命令中使用printfecho来设置标题。

例如:

要启动带有 1 个选项卡、标题为“My Fancy Title”的终端窗口,请使用printf

gnome-terminal --tab -e 'bash -c "printf \"\e]2;My Fancy Title\a\"; bash -i"'

要启动一个带有 2 个选项卡的终端窗口,一个是顶部运行的选项卡,另一个是带有标题的选项卡,请使用echo

gnome-terminal \
--tab -e 'bash -c "echo -ne \"\033]0;my tab running top\007\"; top"' \
--tab -e 'bash -c "echo -ne \"\033]0;My Fancy Title\007\"; bash -i"'

这至少提供了一个在运行时设置终端标题的选项。

这篇文章提供了一个选项,可以在您的文件中添加一个简单的功能,~/.bashrc以便随意设置和重置标题

答案2

当我做了一个

$ gnome-terminal -t“MyTitle”

新终端的标题一度为“MyTitle”,但立即被默认标题取代。

我去了

编辑|简介 | (默认)|编辑|标题和命令

并将“当终端命令设置自己的标题时:”更改为“保留初始标题”,上述命令启动了一个以“MyTitle”为标题的终端。

答案3

GNOME 终端 3.28.2 (Ubuntu 18.04)

使用 VTE 0.52.2 +GNUTLS -PCRE2

要在目录中创建一个带有标题的选项卡(运行默认 shell):

gnome-terminal --tab --working-directory "$SOME_DIR"  --title "Some Title"

如果您想要多个选项卡,只需多次运行此命令即可。

运行一个0 个参数命令追加-- cmd。例如

gnome-terminal --tab --title "CALC" -- python

如果你想要争论,不知道你会做什么。注意: man gnome-terminal已过时。gnome-terminal --help是有更多帮助的。

答案4

这将创建两个选项卡,每个选项卡都打开到目录“foo”或“bar”,选项卡标题为“foo”和“bar”

gnome-terminal --tab -t foo -e 'sh -c "cd foo; sh"' --tab -t bar -e 'sh -c "cd bar; sh"'

相关内容