¿Cómo puedo configurar el título de la ventana de PuTTY al nombre de la sesión cargada?


28

Normalmente, cuando carga una sesión guardada en PuTTY y se conecta a ella, PuTTY configurará el título de la ventana con el nombre de host del sistema al que se conectó (más la cadena "PuTTY").

Ahora tengo muchas sesiones diferentes que se conectan al mismo host, pero en diferentes puertos (porque el host ejecuta varios túneles SSH en diferentes puertos). Por lo tanto, ver el nombre de host no es muy útil, ya que siempre es el mismo.

Entonces me gustaría que PuTTY muestre el nombre de la sesión cargada en el título de la ventana. ¿Hay alguna forma de hacer esto?

La única forma que pude encontrar es establecer el título de la ventana manualmente (Ventana / Comportamiento / Título de la ventana). Pero creo que tendría que hacer esto manualmente para cada sesión, lo cual es bastante tedioso.


1
Kitty es el mejor cliente telnet / SSH (fork de Putty) y puede configurar el título de la ventana desde la línea de comandos mediante la opción "-title".
Mareg

Respuestas:


16

Para cambiar el título de la ventana de sesión de PuTTY SSH (uno por uno manualmente mediante la GUI de PuTTY):

Para Windows y Debian

  1. Load una sesión de PuTTY.
  2. En el menú del árbol del lado izquierdo, haga clic en: WindowBehaviour.
  3. En el panel derecho, en el Window titlecuadro de texto ingrese su título.
  4. Save La sesión.

Para cambiar el título de la ventana de sesión de PuTTY SSH (para todas las sesiones por línea de comando):

Para Debian 8 (Jessie)

  1. Vaya a la carpeta donde PuTTY almacena las sesiones: /home/nolwennig/.putty/sessions

    Nota: reemplace nolwennig con su nombre de usuario

  2. Asigne al parámetro WinTitleel nombre del archivo de sesión guardado para cada archivo de sesión guardado con algo como esto:

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

    Funciona bien si no se graba WinTitle

Para ventanas

  1. PuTTY almacena sesiones en el registro de Windows HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions

    Nota: no reemplace SimonTatham con su nombre de usuario.

  2. Puede exportar esta sección con un comando como este:

    C:> regedit /e "%userprofile%\desktop\putty-registry-sessions.reg" HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions
    
  3. Debe ser posible crear un script que actualice el putty-registry-sessions.regarchivo para cambiar el valor de WinTitle para cada una de las sesiones guardadas.


Fuentes e inspiraciones:


Sé que puedo hacer eso, se menciona en mi pregunta, junto con por qué estoy buscando una solución diferente.
sleske

Actualizo mi respuesta con un pequeño script
Nolwennig

1
Buena idea con el guión. Sin embargo, AFAIK, Putty almacena de forma predeterminada las sesiones en el registro de Windows. Si el suyo usa archivos, probablemente esté usando una versión modificada (aunque aún podría funcionar exportando / importando la configuración). ¿Podría mencionar eso en la respuesta?
sleske

Estoy en Debian8 aquí, agrego la ubicación del almacenamiento de sesiones de Putty para Windows en mi respuesta, pero no puedo escribir / probar un script para eso ahora: (
Nolwennig

1
Ah, claro, olvidé que PuTTY también tiene una versión de Linux. De todos modos, buena respuesta, gracias.
sleske

44

La solución a continuación parece resolver este problema.

1) Vaya a la configuración de Ventana / Comportamiento / Título de ventana mencionada anteriormente y coloque un título que tenga sentido para usted.

2) Vaya a la configuración Terminal / Características y marque la casilla Desactivar el cambio de título de la ventana controlada a distancia .

Ajuste 1

Ajuste 2


44
Si bien esto puede responder la pregunta, es preferible si puede resumir la respuesta aquí, ya que los enlaces desaparecen con el tiempo.
Ladadadada

2
Este es el procedimiento descrito en ese sitio: en la ventana de configuración de la sesión de masilla, active la casilla de verificación "Deshabilitar el cambio de título de la ventana controlada a distancia" que se encuentra en Terminal-> Características. A continuación, asigne un nombre a la ventana de la sesión mediante el cuadro de diálogo Ventana-> Comportamiento. Ingrese el título en el cuadro de texto con la etiqueta "Título de la ventana:"
BdN3504

1
Esta debería ser la respuesta. +1
Kulasangar

3
Esta debería haber sido la respuesta aceptada. Sin este segundo punto, mi título se reinició tan pronto como presioné la tecla Intro. (host: Windows, servidor remoto: Ubuntu Server 16.04 LTS)
Zeeshan

16

Esta función establecerá el título de su ventana PuTTY en la cadena dada:

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

Puede usar esto para establecer el título desde la línea de comandos o desde scripts, por ejemplo, desde .bashrc.


1
¿Por qué funciona esto?
Chad

Solo una pequeña nota; Todavía tiene que configurar "Disable remote-controlled window title changing"bajoTerminal->Features
244an

Es posible que desee utilizar el printfcomando en su lugar.
MUY Bélgica

¿Por qué funciona esto? : ESC ] 0 ; txt STEstablezca el nombre del icono y el título de la ventana en txt.
Koshinae

3

Estaba buscando cómo hacer que los títulos de las ventanas se peguen al usar PuTTY con archivos de sesión.

Entonces .putty/sessions/ServerX, establezca un título predeterminado y ningún comportamiento remoto como:

NoRemoteWinTitle=1
WinTitle=Welcome to ServerX

Y para darle un título especial para algún propósito en particular, simplemente anule el valor predeterminado:

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

2

La única otra ruta que conozco es usar las funciones de emulación xterm para establecer el título del sistema en el que inició sesión (en Red Hat Linux y SUSE Linux, el indicador Bash se escribe en la barra de título de forma predeterminada).

Consulte esta página para obtener una descripción del proceso y la secuencia de escape relevante.



0

Puede usar la -loghost "title"opción en Windows: abre PuTTY con el nombre del título especificado . También cambia otras cosas, así que comprueba si eso no te está causando ningún otro problema.

Lo estoy usando con VIRL, y funciona perfectamente bien.


0

En Windows, esto establecerá el título de la ventana de cada sesión con el mismo nombre de la sesión:

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

-1

En Windows, esta línea de cmd establecerá el título de la ventana de cada sesión con el mismo nombre de la sesión:

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.