17

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

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

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

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

1 ответ1

24

Это не проблема 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .