请教与gnome-terminal有关问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
hongrun007
帖子: 17
注册时间: 2010-10-12 20:37

请教与gnome-terminal有关问题

#1

帖子 hongrun007 » 2012-04-11 10:08

现在我有一个需求,需要在一个terminal里面打开多个tab,并且更改title,我这么写:gnome-terminal --tab -t AAA --tab -t BBB 结果是打开了两个tab,但是看到title闪了一下AAA 和BBB就变回主机名了,又什么办法可以解决?或者如何改变当前终端的title?
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 请教与gnome-terminal有关问题

#2

帖子 aerofox » 2012-04-11 11:25

是不是你的 PS1 中设置了在窗口标题显示主机名?
hongrun007
帖子: 17
注册时间: 2010-10-12 20:37

Re: 请教与gnome-terminal有关问题

#3

帖子 hongrun007 » 2012-04-11 11:29

# 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

找出原因了,在.bashrc中把这行注释掉就可以了
然后现在又有个问题:gnome-terminal --tab -t r1 -x telnet localhost 2001 --tab -t r2 -x telnet localhost 2002 这样终端还是闪一下就没了……要是没有-x参数就可以,我需要他开启终端同时做一些动作,怎么处理?
hongrun007
帖子: 17
注册时间: 2010-10-12 20:37

Re: 请教与gnome-terminal有关问题

#4

帖子 hongrun007 » 2012-04-11 11:31

aerofox 写了:是不是你的 PS1 中设置了在窗口标题显示主机名?
你的意思和我下面写的是不是一个意思?PS1变量是干嘛的?谢谢你啊!
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 请教与gnome-terminal有关问题

#5

帖子 eexpress » 2012-04-11 12:49

print "\e]2;$name $proc\a";
序列控制。
● 鸣学
hongrun007
帖子: 17
注册时间: 2010-10-12 20:37

Re: 请教与gnome-terminal有关问题

#6

帖子 hongrun007 » 2012-04-11 13:07

aerofox, 你的意思和我下面写的是不是一个意思?PS1变量是干嘛的?谢谢你啊!然后现在又有个问题:gnome-terminal --tab -t r1 -x telnet localhost 2001 --tab -t r2 -x telnet localhost 2002 这样终端还是闪一下就没了……要是没有-x参数就可以,我需要他开启终端同时做一些动作,怎么处理?
hongrun007
帖子: 17
注册时间: 2010-10-12 20:37

Re: 请教与gnome-terminal有关问题

#7

帖子 hongrun007 » 2012-04-11 13:08

eexpress, gnome-terminal --tab -t r1 -x telnet localhost 2001 --tab -t r2 -x telnet localhost 2002 这样终端还是闪一下就没了……要是没有-x参数就可以,我需要他开启终端同时做一些动作,怎么处理?是不是你说的序列控制?具体怎么操作?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 请教与gnome-terminal有关问题

#8

帖子 eexpress » 2012-04-11 16:22

gnome-terminal --tab 的参数,似乎是一直无效的。
你直接-e试试嘛。有些终端才是-x。
● 鸣学
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 请教与gnome-terminal有关问题

#9

帖子 aerofox » 2012-04-11 19:05

hongrun007 写了:
aerofox 写了:是不是你的 PS1 中设置了在窗口标题显示主机名?
你的意思和我下面写的是不是一个意思?PS1变量是干嘛的?谢谢你啊!
我是说,你可能在 ~/.bashrc 中设置了 PS1(PS1 是用来设置命令行提示符的变量),而这个 PS1 中包含修改窗口标题的代码。
试试:

代码: 全选

gnome-terminal --tab -t r1 -e "bash --norc" --tab -t r2 -e "bash --norc"
如果可以了,但是仍然想通过 ~/.bashrc 设置一些环境,那么要么修改 ~/.bashrc,要么拷贝一份,修改其中关于 PS1 的部分,然后可以用 bash 的 --rcfile 参数选择修改后的版本。

在 ~/.bashrc 中,也有可能通过设置 PROMPT_COMMAND 改窗口标题,只要知道了原因,对症下药,去掉相应的内容就是了。
hongrun007
帖子: 17
注册时间: 2010-10-12 20:37

Re: 请教与gnome-terminal有关问题

#10

帖子 hongrun007 » 2012-04-11 23:04

aerofox, OK,我懂了!谢谢啊!
回复