Les terminaux Unix compatibles Xterm disposent de séquences d'échappement standard pour définir les couleurs d'arrière-plan et de premier plan. Je ne suis pas sûr que Terminal.app les partage ; il devrait le faire.
case $HOSTNAME in
live1|live2|live3) echo -e '\e]11;1\a' ;;
testing1|testing2) echo -e '\e]11;2\a' ;;
esac
Le deuxième chiffre indique la couleur souhaitée. 0=par défaut, 1=rouge, 2=vert, etc. Ainsi, cet extrait, lorsqu'il est placé dans un .bashrc partagé, vous donnera un fond rouge sur les serveurs réels et un fond vert sur les serveurs de test. Vous devriez également ajouter quelque chose comme ceci pour réinitialiser l'arrière-plan lorsque vous vous déconnectez.
on_exit () {
echo -e '\e]11;0\a'
}
trap on_exit EXIT
EDIT : Google a trouvé un moyen de définir la couleur de l'arrière-plan en utilisant AppleScript . Évidemment, cela ne fonctionne que lorsqu'il est exécuté sur la même machine que Terminal.app. Vous pouvez contourner ce problème à l'aide de quelques fonctions enveloppantes :
set_bg_color () {
# color values are in '{R, G, B, A}' format, all 16-bit unsigned integers (0-65535)
osascript -e "tell application \"Terminal\" to set background color of window 1 to $1"
}
sshl () {
set_bg_color "{45000, 0, 0, 50000}"
ssh "$@"
set_bg_color "{0, 0, 0, 50000}"
}
Vous devrez vous souvenir d'exécuter sshl au lieu de ssh lorsque vous vous connectez à un serveur en direct. Une autre option est d'écrire une fonction d'encapsulation pour ssh qui recherche dans ses arguments les noms d'hôtes en direct connus et définit l'arrière-plan en conséquence.
0 votes
Pourquoi une solution purement linux/unix est-elle mauvaise ?
2 votes
@Milhous Parce que l'application Terminal.app d'OS X offre beaucoup plus de possibilités de personnalisation des styles que les personnalisations basées sur *nix, qu'il s'agisse de la police et des couleurs ANSI, de l'espacement des lignes et des caractères, de la couleur d'arrière-plan, de l'opacité et du flou. Les styles de l'application Terminal sont très réussis lorsqu'ils sont adaptés avec goût, et nous sommes nombreux, utilisateurs d'OS X, à aimer que nos ordinateurs aient l'air de dater des années 2010, et non des années 1980.