jueves, junio 24, 2021

Cambiando el perfil de iTerm al hacer login y logout

Utilizo en MacOS X el emulador de terminal iTerm 2 el cual tiene un sistema de perfiles que nos permite definir el comportamiento del mismo en función del que esté activo. Entre lo que nos permite definir son los colores que usará.

Desde el terminal, uso ssh para conectarme a máquinas remotas a través de openssh. Para saber en la máquina a la que estoy conectado, me gusta cambiar el color de fondo y color de primer plano, para evitar errores. iTerm puede interpretar un código de control que permite cambiar el perfil que esté usando el terminal y como los colores están asociados al perfil, cambiar el aspecto

echo -e "\033]50;SetProfile=NAME\a"

Donde NAME es el nombre del perfil.

Como las máquinas que me conecto utilizo el shell bash, puedo usar los ficheros $HOME/.bash_login y $HOME/.bash_logout. Por ejemplo, si mi perfil de iTerm por defecto es Drizzt y quiero que cuando entre en la máquina cndev, el perfil que uses sea cndev, modificaré estos ficheros añadiendo los códigos.

Así, para que me ponga el perfil cndev, añadiré al fichero $HOME/.bash_login:

echo -e "\033]50;SetProfile=cndev\a"

Y como quiero que me restaure el perfil Drizzt cuando salga de la máquina, añadiré al fichero $HOME/.bash_logout

echo -e "\033]50;SetProfile=Drizzt\a"