Voici une solution complète. Conservez une liste des adresses IP et / ou des domaines de vos serveurs et les couleurs que vous souhaitez pour eux dans ~ / .server_colors:
192.168.122.102, Red Sands
192.168.122.103, océan
www.foo.com, Grass
foo.com, Grass
Ajoutez ensuite cette ligne à ~ / .profile pour détourner la commande ssh:
alias ssh = "~ / bin / safe_ssh $ 1"
Comparez ensuite ce qui se trouve après le @ dans votre cible ssh à votre liste. S'il y a une correspondance, exécutez un AppleScript pour changer l'écran à la couleur correspondante. Voici ~ / bin / safe_ssh:
#! / bin / bash
ip = `echo $ 1 | cut -d "@" -f2`
match = `cat ~ / .server_colors | grep $ ip | wc -l`
si [$ match -gt 0]
ensuite
color = `cat ~ / .server_colors | grep $ ip | cut -f2 -d "," `
osascript ~ / bin / change_terminal_color.scpt "$ color" 2> / dev / null
Fi
/ usr / bin / ssh 1 $
Et enfin, voici ~ / bin / change_terminal_color.scpt
on run argv
dire à l'application "Terminal" de définir les paramètres actuels de l'onglet sélectionné de la fenêtre 1 à (premier jeu de paramètres dont le nom est (élément 1 de l'argv))
moyen détourné
J'ai pris la plupart de ce code dans ce billet de blog .
Oui.
Soit vous utilisez par exemple "écran" et le personnalisez: http://www.slac.stanford.edu/comp/unix/package/epics/extensions/iocConsole/screen.1.html
Ou vous parvenez à le faire sur votre client SSH, si possible.
Vous pouvez également essayer ceci: http://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/
la source
La solution de @muirbot fonctionne très bien pour moi. J'ai apporté quelques petites améliorations à cela. Je l'ajouterai sous son article une fois que j'aurai assez de réputation.
Remplacez la ligne
avecCette modification permet de donner des arguments supplémentaires à votre commande ssh comme "ssh -p 1111 userName @ host"
L'expression régulière permet des adresses IPv4 et des noms de domaine simples.
Pour prendre en charge plusieurs arguments, changez la dernière ligne en
la source
Je cherchais juste la même chose et j'ai trouvé cet article:
http://akrabat.com/php/osx-terminal-colours/
Il utilise un script php pour changer les couleurs des terminaux par applescript. Vous pouvez configurer des mappages de couleurs différentes pour chaque serveur. Fonctionne très bien pour moi, mais ressentez l'envie de réécrire les trucs php en ruby :)
fk
la source
J'utilise un script qui lance SSH dans des fenêtres xterm avec différentes couleurs bg / fg. Il sélectionne les couleurs en fonction du hachage du nom d'hôte à partir d'une plage de couleurs afin qu'aucune configuration ne soit nécessaire.
Le script est écrit en Ruby: https://github.com/mickeyil/ssx
la source
Si vous utilisez iTerm2, créez un fichier nommé
~/bin/ssh-host-color.sh
avec le contenu de https://gist.github.com/jbochi/31f118b8ae2882a2c90fa46c46509b57 :Et ajoutez la ligne suivante à votre
~/.aliases.sh
fichier:la source