Credo che questo sia esattamente ciò che desideri:
link
Tutto il credito va a Yurii Soldak :
Inserisci il seguente script in ~ / bin / ssh (assicurati che ~ / bin / guardato prima / usr / bin / nel tuo PATH):
#!/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 "$@"
Lo script sopra estrae il nome host dalla riga "username @ host" (presuppone l'accesso agli host remoti con "ssh user @ host").
Quindi, a seconda del nome host, imposta uno sfondo rosso (per i server di produzione) o uno sfondo verde (per tutti gli altri). Di conseguenza tutte le finestre ssh avranno lo sfondo colorato.
Presumo che lo sfondo predefinito sia nero, quindi lo script ripristina il colore dello sfondo in nero quando esci dal server remoto (vedi "trap su_exit").
Nota, tuttavia, questo script non traccia la catena di accessi ssh da un host a un altro. Di conseguenza, lo sfondo sarà verde nel caso in cui si effettui il login prima al server di testing, quindi accedi alla produzione da esso.
Nello stesso post, scrive Chris Page :
Una funzionalità meno nota di Terminal è che puoi impostare il nome di un profilo di impostazioni su un nome di comando e selezionerà quel profilo quando creerai un nuovo terminale tramite Shell > Nuovo comando ... o Shell > Nuova connessione remota ... .
Ad esempio, duplica il tuo profilo predefinito, chiamalo "ssh" e imposta il colore dello sfondo su rosso. Quindi utilizza Nuovo comando ... per eseguire ssh host.example.com
.
Corrisponde anche agli argomenti, quindi puoi farlo scegliere impostazioni diverse per diversi host remoti, ad esempio.