Назад | Перейти на главную страницу

Как я могу установить заголовок окна PuTTY на имя загруженного сеанса?

Обычно, когда вы загружаете сохраненный сеанс в PuTTY и подключаетесь к нему, PuTTY устанавливает заголовок окна на имя хоста системы, к которой вы подключились (плюс строка «PuTTY»).

Теперь у меня много разных сеансов, которые подключаются к одному и тому же хосту, но на разных портах (потому что хост запускает несколько туннелей SSH на разных портах). Поэтому видеть имя хоста не очень полезно, поскольку оно всегда одно и то же.

Поэтому я бы хотел, чтобы PuTTY отображал имя загруженного сеанса в заголовке окна. Есть ли способ сделать это?

Единственный способ, который я смог найти, - это установить заголовок окна вручную (Window / Behavior / Window title). Но я считаю, что мне придется делать это вручную для каждого сеанса, что довольно утомительно.

Приведенное ниже решение, похоже, решает эту проблему.

1) Перейдите к вышеупомянутым настройкам Window / Behavior / Window Title и введите заголовок, который вам понятен.

2) Зайдите в настройки Терминала / Функции и отметьте заголовок окна Отключить удаленное управление коробка для пеленания.

Чтобы изменить заголовок окна сеанса PuTTY SSH (один за другим вручную с помощью графического интерфейса PuTTY):

Для Windows и Debian

  1. Load сессия от PuTTY.
  2. В левом древовидном меню нажмите: WindowBehaviour.
  3. На правой панели в Window title текстовое поле введите свой заголовок.
  4. Save сессия.

Чтобы изменить заголовок окна сеанса PuTTY SSH (для всех сеансов с помощью командной строки):

Для Debian 8 (Джесси)

  1. Перейдите в папку, в которой PuTTY хранит сеансы: /home/nolwennig/.putty/sessions

    Примечание: заменить nolwennig с вашим именем пользователя

  2. Назначить параметру WinTitle имя сохраненного файла сеанса для каждого сохраненного файла сеанса примерно так:

    find . -type f -exec sed -e 's/^WinTitle=/WinTitle=%f/g' {} \;

    Работает нормально, если WinTitle не записан

Для Windows

  1. PuTTY хранит сеансы в реестре Windows HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions

    Примечание: не заменить SimonTatham с вашим именем пользователя.

  2. Вы можете экспортировать этот раздел с помощью такой команды:

    C:> regedit /e "%userprofile%\desktop\putty-registry-sessions.reg" HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions
    
  3. Должна быть возможность создать сценарий, обновляющий putty-registry-sessions.reg файл, чтобы изменить значение WinTitle для каждой сохраненной сессии.


Источники и вдохновение:

Эта функция установит заголовок вашего окна PuTTY на заданную строку:

# Set title
title() {
  echo -ne "\033]0;"$1"\007"
}

Вы можете использовать это, чтобы установить заголовок из командной строки или из скриптов, например. изнутри .bashrc.

Я искал, как закрепить заголовки окон при использовании PuTTY с файлами сеанса.

Так что в .putty/sessions/ServerX, установите заголовок по умолчанию и запретите удаленное поведение как:

NoRemoteWinTitle=1
WinTitle=Welcome to ServerX

И чтобы дать ему особое название для какой-то конкретной цели, просто переопределите значение по умолчанию:

putty -load .putty/sessions/ServerX -title "ServerX:/var/log/messages"

Единственный другой путь, о котором я знаю, - это использовать функции эмуляции xterm для установки заголовка из системы, в которую вы вошли (в Red Hat Linux и SUSE Linux приглашение Bash по умолчанию записывается в заголовок).

Видеть эта страница для описания процесса и соответствующей escape-последовательности.

Вы можете использовать -loghost "title" в Windows - открывает PuTTY с указанным заглавие название. Он также меняет другие вещи, поэтому проверьте, не создает ли это для вас других проблем.

Я использую его с VIRL, и он отлично работает.

В Windows это установит заголовок окна каждого сеанса с тем же именем, что и сеанс:

FOR /F "tokens=6 delims=\" %i IN ('reg query HKCU\Software\Simontatham\PuTTY\Sessions') DO reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_SZ /v WinTitle /d %i /f & reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_DWORD /v NoRemoteWinTitle /d 1 /f

В Windows эта командная строка будет устанавливать заголовок окна каждого сеанса на то же самое имя самого сеанса:

FOR /F "tokens=6 delims=\" %i IN ('reg query HKCU\Software\Simontatham\PuTTY\Sessions') DO reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_SZ /v WinTitle /d %i /f & reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_DWORD /v NoRemoteWinTitle /d 1 /f