1 votes

Modifier la fenêtre du terminal Snow Leopard en fonction du serveur SSH

J'ai du mal à faire la différence entre mon serveur de développement et mon serveur de production. J'utilise SSH pour me connecter aux machines (toutes deux Ubuntu 10.04), et je me demandais s'il existait un moyen de modifier la couleur de la fenêtre du terminal en fonction du serveur SSH auquel elle est connectée, car j'oublierai de modifier la couleur pour chaque serveur...

2voto

Graham Points 2659

Cet article de blog fournit un script pour résoudre ce problème.

#!/bin/bash
#
# ssh into a machine and automatically set the background
# color of Mac OS X Terminal depending on the hostname.
#
# Installation:
# 1. Save this script to /some/bin/ssh-host-color
# 2. chmod 755 /some/bin/ssh-host-color
# 3. alias ssh=/some/bin/ssh-host-color
# 4. Configure your host colors below.

set_term_bgcolor() {
   local R=$1
   local G=$2
   local B=$3
   /usr/bin/osascript <<EOF
tell application "Terminal"
   tell window 0
      set the background color to {$(($R*65535/255)), $(($G*65535/255)), $(($B*65535/255))}
   end tell
end tell
EOF
}

# Host-specific background colors.
if [[ "$@" =~ production1.com ]]; then
   set_term_bgcolor 127 0 0
elif [[ "$@" =~ production2.com ]]; then
   set_term_bgcolor 0 127 0
fi

ssh $@

# Default background color.
set_term_bgcolor 34 79 188

0voto

Josh Points 229

Dans Terminal.app, vous pouvez modifier le "thème" par onglet (par exemple, Pro ou Ocean) en cliquant avec le bouton droit de la souris sur un seul onglet --> Inspecter l'onglet--> Paramètres. Vous pouvez également utiliser iTerm car il dispose de cette option : "Les étiquettes des onglets peuvent changer de couleur pour indiquer les activités de la session".

0voto

Daniel Points 3488

J'ai essayé d'utiliser des couleurs différentes pour les différentes sessions SSH il y a quelque temps. Cela n'a pas vraiment fonctionné car j'oubliais trop facilement quelle machine était la rouge et quelle était la bleue.

J'ai fini par apprendre moi-même quelques commandes qui vous disent où vous êtes, et qui vous êtes là. whoami par exemple.

0voto

Mads Kristiansen Points 580

En utilisant iTerm2, vous pouvez modifier la couleur de la barre de titre et de l'onglet pour chaque serveur à partir du fichier .bashrc de chaque machine. Voir le docs pour obtenir des informations à ce sujet. Je combine cela avec le réglage de la couleur de l'invite pour faciliter la distinction. J'ai généralement une fenêtre iTerm par serveur, avec éventuellement plusieurs onglets. Cela permet de trouver facilement la bonne fenêtre dans Expose.

Voici la section correspondante de mon .cshrc. Il faudrait l'adapter pour bash (NOTE : ^] est control+] et ^G est control+G)

if ( ${?term} != 0 ) then
    # tab window
    alias cwdcmd 'printf "^]1;%s^G^]2;%s^G" "$cwd:t" "$HOST `echo $cwd | sed s $HOME-~-`" '
    # Set title/tab color
    alias settermr "echo -n '^]6;1;bg;red;brightness;\!*^G'"
    alias settermg "echo -n '^]6;1;bg;green;brightness;\!*^G'"
    alias settermb "echo -n '^]6;1;bg;blue;brightness;\!*^G'"
    settermr 171;settermg 0;settermb 0
    # Set title text
    alias settitle 'echo -n "^]2; "\!*"^G"'
    settitle `hostname -s`
    # Set tab text
    alias settab 'echo -n "^]1; "\!*"^G"'
    settab $cwd:h:t/$cwd:t
    cwdcmd

endif

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X