Creo que esto es exactamente lo que quieres:
enlace
Todo el crédito va a Yurii Soldak :
Coloque el siguiente script en ~ / bin / ssh (asegúrese de que ~ / bin / haya visto antes de / usr / bin / en su RUTA):
#!/bin/sh
HOSTNAME='echo $@ | sed s/.*@//'
set_bg () {
osascript -e "tell application \"Terminal\" to set background color of window 1 to $1"
}
on_exit () {
set_bg "{0, 0, 0, 50000}"
}
trap on_exit EXIT
case $HOSTNAME in
production1|production2|production3) set_bg "{45000, 0, 0, 50000}" ;;
*) set_bg "{0, 45000, 0, 50000}" ;;
esac
/usr/bin/ssh "$@"
El script anterior extrae el nombre de host de la línea "username @ host" (asume que inicias sesión en hosts remotos con "ssh user @ host").
Luego, dependiendo del nombre del host, establece fondo rojo (para servidores de producción) o fondo verde (para todos los demás). Como resultado, todas sus ventanas ssh estarán con fondo de color.
Supongo que aquí el fondo predeterminado es negro, por lo que la secuencia de comandos revierte el color de fondo a negro cuando se desconecta del servidor remoto (consulte "captura en_exita").
Tenga en cuenta, sin embargo, que esta secuencia de comandos no realiza un seguimiento de la cadena de inicios de sesión ssh de un host a otro. Como resultado, el fondo será verde en caso de que primero inicie sesión en el servidor de prueba y luego inicie sesión en producción desde este.
En la misma publicación, Chris Page escribe:
Una característica menos conocida de Terminal es que puede establecer el nombre de un perfil de configuración en un nombre de comando y seleccionará ese perfil cuando cree un nuevo terminal a través de Shell > Nuevo comando ... o Shell > Nueva conexión remota ... .
Por ejemplo, duplique su perfil predeterminado, asígnele el nombre "ssh" y establezca su color de fondo en rojo. Luego usa Nuevo comando ... para ejecutar ssh host.example.com
.
También coincide con los argumentos, por lo que puede hacer que elija diferentes configuraciones para diferentes hosts remotos, por ejemplo.