Phi*_*bin 8 gnome gnome-terminal
我看过有关使用多个选项卡启动 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
Run Code Online (Sandbox Code Playgroud)
...但我想为每个标签设置一个唯一的标题。
如果选项卡有自己的配置文件,我可以在 gnome-terminal 中Edit | Profiles | (NAME) | Edit | Title and Command更改标题,然后将“初始标题”更改为我想要的,并将“当终端命令设置自己的标题时”从“替换初始标题”更改为“保留初始标题”。但是,我不想为每个选项卡创建唯一的配置文件。我想要一个通用的解决方案。
我试过添加,--title='MyTitle'但似乎没有帮助。我在 CentOS 6 上使用 GNOME 2.28.2。
使用该-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
Run Code Online (Sandbox Code Playgroud)
所以......这在 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
Run Code Online (Sandbox Code Playgroud)
在这种情况下,正在扩展 PS1 变量以用于匹配xterm*和 的终端类型rxvt*。
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
Run Code Online (Sandbox Code Playgroud)
特别是PS1="\[\e]0;和之间的部分\a\]。那些变成了窗口标题。
一旦我注释掉了整个case语句,带有该-t选项的 gnome-terminal 的行为就会按预期工作。我会看看我是否也能找到一个 CentOS 6 机器来测试这个。
所以看起来更新版本的 Gnome-Terminal 去掉了一些有用的功能,比如-t设置终端标题的简单选项。
它是仍然可以在运行时设置终端冠军,现在只是丑陋的地狱。您可以在命令中使用printf或echo来影响标题。
例如:
要使用 1 个选项卡启动终端窗口,标题为“My Fancy Title”,请使用printf:
gnome-terminal --tab -e 'bash -c "printf \"\e]2;My Fancy Title\a\"; bash -i"'
Run Code Online (Sandbox Code Playgroud)
要启动一个带有 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"'
Run Code Online (Sandbox Code Playgroud)
这至少提供了一个在运行时设置终端标题的选项。
请参阅此帖子以获取在您的选项中放置一个简单功能~/.bashrc以允许随意设置和重置标题的选项。