Bash

對於我連接到的任何主機,是否可以將 Gnome 終端的標題設置為“user@host”?

  • July 21, 2020

我想將終端標題設置為,user@host以便我可以從視窗標題輕鬆判斷我連接到哪台機器。有沒有辦法從 SSH 或 GNOME 終端執行此操作?

是的。這是一個使用 PS1 的 bash 範例,它應該與發行版無關:

具體來說,轉義序列\[\e]0; __SOME_STUFF_HERE__ \a\]很有趣。為了更清楚起見,我已將其編輯為單獨的變數。

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
   if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
       # We have color support; assume it's compliant with Ecma-48
       # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
       # a case would tend to support setf rather than setaf.)
       color_prompt=yes
   else
       color_prompt=
   fi
fi

TITLEBAR='\[\e]0;\u@\h\a\]'
# Same thing.. but with octal ASCII escape chars
#TITLEBAR='\[\033]2;\u@\h\007\]'

if [ "$color_prompt" = yes ]; then
   PS1="${TITLEBAR}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ "
else
   PS1="${TITLEBAR}\u@\h:\W\$ "
fi
unset color_prompt force_color_prompt

另請注意,設置 xterm 標題的方法有很多種,具體取決於您使用的終端程序和 shell。例如,如果您使用 KDE 的 Konsole,您可以通過轉到Settings-> Configure Profiles-> Edit Profile->Tabs並設置Tab title format和設置來覆蓋標題Remote tab title format設置。

控制台標題欄設置對話框

此外,您可能需要查看:

引用自:https://unix.stackexchange.com/questions/14113