J'utilise ce qui suit.
Avoir une commande shell, appelée myssh
, avec du contenu:
PROFILE="$1";shift;
DEF="Basic" #the default profile name
echo "tell app \"Terminal\" to set current settings of first window to settings set \"${PROFILE}\""|osascript
ssh $@
echo "tell app \"Terminal\" to set current settings of first window to settings set \"${DEF}\""|osascript
et utilisez des alias bash pour la connexion, comme:
alias ssweb='myssh Homebrew [email protected]'
alias ssmail='myssh Ocean [email protected]'
Lorsque je veux accéder au serveur Web, j'écris simplement ssweb
dans le terminal et j'ai obtenu le profil "Homebrew". A la fin de la session ssh, l'AppleScript revient au "Basic".
Les alias doivent aller dans votre $ HOME / .profile ou dans un fichier de démarrage bash similaire.
Les "Homebrew", "Ocean" etc. sont les profils de configuration des préférences de Terminal.app. Vous pouvez également configurer différentes polices, encodages, etc.
Bien sûr, vous pouvez l'utiliser directement (sans alias) comme:
myssh Pro user@another.machine.example.com
^ ^
| ssh command arguments
terminal profile name
Je sais qu'il y a déjà quelques réponses, mais voici une alternative:
Il n'y a pas de moyen général de changer la couleur d'arrière-plan, mais nous pouvons utiliser un moyen standard pour changer le titre de la fenêtre. Si vous vous connectez à de nombreux périphériques non "serveur Unix" (tels que les périphériques réseau; routeurs, commutateurs, pare-feu, etc.), vous devez utiliser leurs shells et ne pouvez pas installer vos propres variables de shell. Alors, voici une autre façon:
Ajoutez ceci à votre
.bashrc
.Fondamentalement, comme les fonctions et les alias sont préférés à la recherche dans le chemin, cela prend la commande ssh et utilise le texte avant et après le "@" pour définir les variables HOST et USER qu'il utilise ensuite pour faire écho à un code ASCII qui est reconnu par le terminal et utilisé pour définir le titre.
Vous devez utiliser "ssh [email protected]" pour cela et non "ssh -l user host.blah"
Si vous ne fournissez pas de nom d'utilisateur, il le définira comme votre nom d'utilisateur actuel (évidemment si vous utilisez un .ssh / config personnalisé (que j'utilise beaucoup), ce ne sera pas précis, mais je pense que c'est assez bon Être utile.
la source