SSH dentro de SSH muestra el nombre incorrecto de la máquina en la barra de título xterm

Estoy trabajando en un sistema distribuido que se conecta a varios serveres a la vez. Nada se inicia manualmente en el progtwig en el que estoy trabajando, pero esta es la forma de recrear el error manualmente.

Comienzo un xterm luego SSH a una máquina como esta:

ssh machine_1

Allí comienzo otro xterm en el primer xterm como este:

xterm &

Luego, la barra de título de la nueva window de xterm es algo así como "nombre de usuario (en machine_1)"

En este xterm I SSH a otra máquina como esta:

ssh machine_2

Pero luego la barra de título permanece así: "nombre de usuario (en máquina_1)"

a pesar de que estoy conectado a machine_2. Quiero que diga "nombre de usuario (en máquina_2)". Eliminar completamente el paréntesis también estaría bien.

Intenté xtermset pero eso no afecta el paréntesis.

Ya sea xterm o el shell en machine_1 está configurado para configurar el título del terminal para que contenga el nombre de la máquina. Configure su shell en machine_2 para configurar el título del terminal para que contenga el nombre de la máquina. También querrá asegurarse de que el shell en machine_1 restablezca el título cuando finalice la session ssh. La forma habitual de hacerlo es hacer que el shell restablezca el título del terminal siempre que muestre un aviso. Esto tiene la ventaja adicional de restablecer el título del terminal a algo sensato si una aplicación de modo de text de pantalla completa lo establece mientras se está ejecutando.

Puede establecer el título de un xterm mostrando la secuencia de escape \e]2;my title here\a donde \e es un carácter de escape ( \033 ) y \a es un carácter de campana ( \007 ). Incluya esta secuencia en su intérprete de commands de shell. Para bash , coloca una línea como esta en tu ~/.bashrc :

 PS1="\[\033]2;xterm on $HOSTNAME\a\]$PS1";; 

La puntuación de la barra invertida \[…\] dice a bash que lo que hay dentro tiene un ancho de 0 (si deja de lado los corchetes, la pantalla se distorsionará).

Para get más información sobre un título elegante que cambia después de cada command, puede include sustituciones de variables y commands en la cadena de request si establece la opción promptvars .

En zsh, establezca el título de la function precmd , que se ejecuta antes de cada request.

 precmd () { print -n "\e]2;xterm on $HOSTNAME in $PWD\a" } 

Mientras lo hace, puede configurar el título desde preexec para que contenga el nombre del command en ejecución. Aquí hay una manera simple que no reactjs muy bien a los caracteres no imprimibles en el command:

 preexec () { print -nr $'\e]2;'"xterm on $HOSTNAME running $2"$'\a' }