Добавьте escape-последовательности set-title в rc-файл вашей оболочки. Для bash
v4 это будет:
if [[ $TERM == xterm* ]]; then # This puts "user@host workdir" into the titlebar. # (look for section "PROMPTING" in bash's manual) title='\u@\h \w' PS1+="\[\e]0;$title\007\]" fi
в вашем ~/.bashrc
.
Прекратите читать здесь, если вам не нравится возиться со bash
скриптами.
Приведенный выше код на самом деле является значительно упрощенной версией моего ~/.bashrc
фрагмента:
case $TERM in [xkE]term*|rxvt*|cygwin) title_seq='\e]0;%s\007';; screen*) # only set the "screen"window title title_seq='\ek%s\e\\';; esac # Very useful for: title syslog && tailf /var/log/syslog title() { [ "$title_seq" ] && printf "$title_seq" "$*"; } # Modify the prompt string. if [ "$title_seq" ]; then title='\u@\h \w' PS1+="\[$(printf "$" "$title")\]" fi
На самом деле, это был мой старый ~/.bashrc
фрагмент. После обнаружения PROMPT_DIRTRIM=1
мне пришлось заменить $PS1
модификацию (последнее if
утверждение) на:
update_title() { title "$USER@$HOSTNAME $" } PROMPT_COMMAND="update_title"