
Me gustaría saber cómo puedo configurar el título del shell con el nombre del host en el que estamos conectados actualmente. Mi escenario es así. Inicio sesión en el host A, luego abro la pantalla y creo varias ventanas nuevas y hago ssh a diferentes hosts en esas ventanas. Entonces, me gustaría que el título de la pantalla en la parte inferior muestre el host actual en el que se encuentra.
Respuesta1
Una forma de hacerlo es utilizar la LocalCommand
función de ssh
. Con este método, se imprimirá una secuencia de escape para cambiar el título del terminal después de una conexión exitosa a un host remoto.
Edite o cree ~/.ssh/config
para incluir algo como:
Host *
PermitLocalCommand yes
LocalCommand printf '\033]0;%%s\007' '%h'
La desventaja de este método es que el título permanece cambiado después de cerrar sesión en el servidor remoto. Puedes solucionar eso con:
printf '\033]0;%s\007' "$(uname -n)"
Si desea automatizar esto, puede utilizar una función:
lssh () {
/path/to/ssh "$@"
printf '\033]0;%s\007' "$(uname -n)"
}
Esta respuesta supone que su emulador de terminal usa elmismas secuencias de escapecomo XTerm. Si este no es el caso, debes consultar la documentación de tu emulador de terminal específico.
Una advertencia en el caso de la pantalla GNU es que una única ventana de terminal puede contener varias ventanas virtuales. En ese caso, podría utilizar una secuencia de escape diferente ( \033k%s\033\\
) para establecer el título interno de una única ventana virtual.