Cambiar el color del terminal según la sesión SSH

28

¿Es posible cambiar automáticamente el color del terminal en función del servidor al que estoy conectado a través de SSH?

Por ejemplo, cuando enciendo el terminal, tiene los colores estándar definidos en mi perfil. Luego, paso a ssh.example.com y el color cambia a negro y verde. Luego salgo de la sesión y el color vuelve al tema de color estándar.

Sé que puedes hacer esto manualmente. Pero estoy buscando una forma automatizada.

karlingen
fuente

Respuestas:

23

Sí, puede cambiar el PS1valor en el .bashrcarchivo en cada nombre de host con el que se está conectando ssh.

Vea esta respuesta para ver cómo personalizar como le gusta que el bash cambie el PS1valor.

ssh de color

En mi máquina (radu @ Radu) tengo en .bashrc:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35m\]\u@\h\[\033[00m\]:\[\033[01;34m\] \w\[\033[01;37m\] > '

En la máquina alojada (radu @ ubuntu) tengo:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35;40m\]\u@ubuntu\[\033[00;40m\]:\[\033[01;34;40m\] \w\[\033[01;32;40m\] > '
Radu Rădeanu
fuente
55
¿Cómo exactamente lograste cambiar el color de fondo?
chrisg86
Los códigos '3x' cambian el color de primer plano. Los códigos '4x' cambian el color de fondo. Observe que la máquina alojada tiene códigos '4x', pero el local no. arwin.net/tech/bash.php
FlipMcF
¿Hay alguna manera de obtener el mismo resultado sin cambiar nada en la caja remota? Usamos máquinas virtuales, y los cambios no se mantendrían por mucho tiempo ...
Christian