工作中很多时候需要同时用不同的窗口登上不同的服务器, 而公司有些服务器主机名是一样的,结果登录标签显示的名字都是一样,很难区分。如图:

 

解决方法有两种

方法一、在securecrt软件中设置的方法

选择options--->global options--->general---->default session---->edit default settings--->terminal--->emulation---->advanced---->将“ignore window title change requests”打上勾,保存后重新登录即可。

注意:这时候就会以你保存的会话名来显示你的标签!所以你保存的连接会话名(默认是IP地址)是什么标签就会显示什么。如图:

 

 

 

 

我保存的服务器会话名称为sun,标签名就是sun。为10.6.0.9,标签就为10.6.0.9

 

 

有些版本的securecrt默认就是以保存的会话名显示,因此不用做此设置。 

 

方法二、在linux系统中设置的方法(此法适用于所有远程登录的软件)

这时候只需要简单两步即可搞定
[root@centos581 sysconfig]# vim /etc/sysconfig/bash-prompt-xterm
echo -ne "\e]2;$(ifconfig eth0|grep "inet addr"|cut -f2 -d:|awk '{print $1}')\a"

 [root@centos581 sysconfig]# chmod 755 /etc/sysconfig/bash-prompt-xterm
然后再断开重新连接即可,如图:

 

当然,你也可以定义让其显示你指定的字符串。

比如:

[root@centos581 sysconfig]# vim /etc/sysconfig/bash-prompt-xterm
echo -ne "\e]2;hello\a"

这时候就显示的hello了,如图:
 

 

 

 

以下是详细说明:

bash支持环境变量PROMPT_COMMAND, 将其设置为一个命令行字符串或者是包含命令行字符串的一个文件的文件名, 命令行用来在显示prompt之前执行. 在redhat系列的机器上(redhat,fedora)都支持文件/etc/sysconfig/bash-prompt-xterm来保存bash+xterm下的PROMPT_COMMAND环境变量的内容, 结合这几点, 就可以轻松实现"在窗口标题部分显示已登陆服务器的ip地址"这个功能.


 

1) 设置term类型是xterm时标签显示内容, 即$PROMPT_COMMAND环境变量的值:

# vi /etc/sysconfig/bash-prompt-xterm

-----------------------------------------------------------------------

echo echo -ne "\e]2;$(ifconfig eth0|grep "inet addr"|cut -f2 -d:|awk '{print $1}')\a"

-----------------------------------------------------------------------

说明:

"\e]2"是xterm支持的第三种escape序列用来设置窗口的标题;

"$(.*)"的内容是shell命令用来取出服务器eth0网卡的当前ip地址;

"\a"是xterm支持的escape序列的结束符.

 

2) 设置term类型是screen时(命令screen进入新窗口时)标签显示内容, 和xterm一样:

cp /etc/sysconfig/bash-prompt-xterm /etc/sysconfig/bash-prompt-screen

 

3) 设置term类型不是xterm和screen时标签显示内容, 也和xterm一样:

cp /etc/sysconfig/bash-prompt-xterm /etc/sysconfig/bash-prompt-default


4) 这几个文件需要有可执行权限:

chmod +x /etc/sysconfig/bash-prompt-*

 

现在重新登录操作系统或者切换用户模拟终端如SecureCRT的标签栏就会动态更新了.

 参考链接:

http://3802230.blog.51cto.com/3792230/830083

http://blog.csdn.net/zly8602/article/details/5807231