Восстановите заголовок Mac OS X Terminal после закрытия SSH-соединения [дубликат]

18

Возможное дублирование:
как мне сделать, чтобы OS X возвращала заголовок терминала к исходному заголовку при возвращении из ssh?

Каждый раз, когда вы выходите из SSH-подключения в Mac OS X-терминале, вы получаете информацию о прошлом входе в систему в заголовке окна.

Большинство решений, которые я нашел при поиске в интернете, включают в себя поиск последовательности действий, таких как этот вопрос или соответствующий пост в блоге .

Кажется, это проблема SSH, а не терминала, поэтому мне было интересно, есть ли более простой способ сделать это (возможно, редактирование конфигурации клиента SSH?).

elitalon
источник

Ответы:

26

Это не проблема SSH. Проблема заключается в том, что оболочка на удаленном хосте настроена на отправку escape-последовательности для установки заголовка окна терминала. Это довольно распространенная настройка. Решения, упомянутые в сообщении блога, на которое вы ссылаетесь, верны.

Самое простое и прямое решение - настроить ту же удаленную оболочку для сброса заголовка окна при выходе из системы. например, если удаленная оболочка - bash, поместите это в ~ / .bash_logout:

printf '\e]0;\a'

В качестве альтернативы, если вы хотите, чтобы ваша локальная оболочка обновляла заголовок окна чем-то полезным, в любом случае, сделайте это. Когда соединение ssh заканчивается, локальная оболочка установит заголовок окна на что-то другое, вместо того, чтобы оставить устаревшее значение. например, поместите это в ~ / .bashrc:

PS1='\[\e]1;\s\$ \W\a\e]2;\u@\h\a\]'"$PS1"

Это помещает имя пользователя и имя хоста в заголовок окна (как правило, это то, для чего настроены удаленные оболочки), а также устанавливает заголовок вкладки, чтобы показать имя и тип оболочки (обычный пользователь или root) и текущий рабочий каталог.

Обратите внимание, что если у вас еще нет ~ / .bash_profile (или ~ / .profile), создайте его и запустите ~ / .bashrc, чтобы ~ / .bashrc применялся к оболочкам входа и не входа в систему:

if [ -f $HOME/.bashrc ]; then
    . $HOME/.bashrc
fi
Крис Пейдж
источник