Je crois que c'est exactement ce que vous voulez :
https://stackoverflow.com/questions/157959/how-do-i-make-the-apple-terminal-window-auto-change-colour-scheme-when-i-ssh-to
Tout le crédit revient à Yurii Soldak:
Placez le script suivant dans ~/bin/ssh (assurez-vous que ~/bin/ soit placé avant /usr/bin/ dans votre 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 "$@"
Le script ci-dessus extrait le nom d'hôte à partir de la ligne "username@host" (il suppose que vous vous connectez aux hôtes distants avec "ssh user@host").
Ensuite, en fonction du nom d'hôte, il définit un arrière-plan rouge (pour les serveurs de production) ou un arrière-plan vert (pour tous les autres). Ainsi, toutes vos fenêtres ssh seront avec un arrière-plan coloré.
Ici, je suppose que votre arrière-plan par défaut est noir, donc le script rétablit la couleur d'arrière-plan en noir lorsque vous vous déconnectez du serveur distant (voir "trap on_exit").
Veuillez noter cependant que ce script ne suit pas la chaîne de connexions ssh d'un hôte à un autre. Par conséquent, l'arrière-plan sera vert si vous vous connectez d'abord à un serveur de test, puis à la production.
Dans le même post, Chris Page écrit :
Une fonctionnalité moins connue de Terminal est que vous pouvez définir le nom d'un profil de paramètres sur un nom de commande et il sélectionnera ce profil lorsque vous créez un nouveau terminal via Shell > New Command... ou Shell > New Remote Connection....
Par exemple, dupliquez votre profil par défaut, nommez-le "ssh" et définissez sa couleur d'arrière-plan en rouge. Ensuite, utilisez New Command… pour exécuter ssh host.example.com
.
Il correspond également aux arguments, donc vous pouvez avoir des réglages différents pour des hôtes distants différents, par exemple.