工作中很多時候需要同時用不同的窗口登上不同的服務器, 而公司有些服務器主機名是一樣的,結果登錄標籤顯示的名字都是一樣,很難區分。如圖:
解決方法有兩種
方法一、在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"
以下是詳細說明:
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