¿Cómo elijo lo que aparece en la barra de título de PuTTY desde Linux?

¿Cómo elijo lo que aparece en la barra de título de PuTTY desde Linux?

En la configuración de PuTTY hay una opción en Terminal → Funciones llamadaDeshabilitar el cambio de título de ventana controlado remotamente. Sin eso habilitado, la barra de título de PuTTY cambiará cada vez que presione regresar en la consola.

Estaba pensando que sería una solución más limpia configurar el texto de la barra de título desde Linux que especificar uno para cada cliente PuTTY que tengo. Entonces, ¿dónde puedo modificar lo que Linux establece como título de la ventana?


$ uname -a
Linux drevo 2.6.32-5-amd64 #1 SMP lunes 16 de enero 16:22:28 UTC 2012 x86_64 GNU/Linux

$ gato /etc/debian_version
6.0.4

Respuesta1

La mayoría de los programas de terminal, incluidos konsole, PuTTY y xterm, emulan el antiguo terminal VT100. Este terminal le permite configurar ciertas cosas, incluidas negritas, colores, configurar el título del terminal, etc., utilizando secuencias de caracteres especiales llamadas secuencias de escape.

El shell bash tiene una variable llamada PROMPT_COMMAND que, si está configurada, se evalúa antes de cada mensaje que imprima (creo que zsh tiene algo similar, de hecho, creo que bash tomó el código de ellos). Puede generar secuencias de escape en PROMPT_COMMAND y configurará su barra de título.

Esto es lo que tengo en el mío (Linux/bash):

USER=$(/usr/bin/id -un)
HOSTNAME=$(uname -n)
HOSTNAME=${HOSTNAME%%.*}
PROMPT_COMMAND='echo -ne "\e]0;$USER@${HOSTNAME}: $(pwd -P)\a"'

Puedes poner esto en tu ~/.bashrc

Hay muchas personalizaciones que puedes hacer con tu terminal. Me gusta la negrita en mi mensaje, para que sea más fácil ver el final de mi mensaje. Esto lo hace de color amarillo intenso, bueno contra mi fondo negro predeterminado:

PS1="\[\e[33;1m\]\h:\$\[\e[0m\] "

Busque la personalización del mensaje de Linux y encontrará más instrucciones de las que sabrá qué hacer. Elija el que le resulte más fácil de leer.

Respuesta2

El título del terminal se establece mediante secuencias de escape especiales en la salida de la consola. De forma predeterminada, el indicador de bash incluye estas secuencias de escape y establece el título en el directorio de trabajo actual.

Por lo tanto, tendrá que editar su variable PS1 (la mayoría de las veces está configurada en ~/.bashrc); de lo contrario, bash sobrescribirá su título cada vez que se muestre el mensaje.

Luego puede configurar el título poniendo lo siguiente en un script que se ejecuta cuando inicia sesión, por ejemplo ~/.profile:

echo -e "\033]0;<your string>\007"

Respuesta3

He buscado en muchos foros y no encuentro la respuesta a la pregunta:
¿Cómo llevar todos los resultados de los comandos al título de Putty?

Lo necesitaba para que otros programas supieran cuándo se realizan algunos trabajos en un servidor y si se hacen bien o mal. Plink stdout y stdin no funcionaban. Utilicé muchos ajustes con retrasos de espera y para algunos comandos funcionaron, para otros no. XSEL y XCLIP no se pudieron instalar en ese servidor.

Así que aquí está la solución:

  1. Obtenga la salida del comando en un archivo.
  2. Haga eco de ese archivo al título.

En el cliente Putty y el servidor SUSE se ve así:

ls /home | grep domagaja > logutoit.txt 
echo -e "\033]0\\;$(cat logutoit.txt)\\007\\c"

Esperemos que alguien pueda usar esto. Por supuesto, no funcionará para todos los tipos de servidores y configuraciones de clientes PuTTY, pero la idea debería funcionar bien.

información relacionada