Modifica la finestra Terminale di Snow Leopard in base al server SSH

1

Posso trovare difficile distinguere tra il mio server di sviluppo e quello di produzione. Sto usando SSH per connettermi alle macchine (sia Ubuntu 10.04), e mi chiedevo se c'è un modo per cambiare il colore della finestra del Terminale a seconda di quale server SSH è connesso in quanto dimenticherò di cambiare il colore per ogni server ...

    
posta Dean Perry 14.05.2011 - 23:03
fonte

4 risposte

2

Questo post del blog fornisce uno script per risolvere questo problema.

#!/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
    
risposta data 15.05.2011 - 01:20
fonte
0

In Terminal.app puoi modificare il "tema" per scheda (ad es. Pro o Ocean) facendo clic con il tasto destro su una singola scheda - > Controlla scheda - > Impostazioni. Inoltre puoi utilizzare iTerm perché ha questa opzione: "Le etichette delle schede possono cambiare colore per indicare le attività della sessione"

    
risposta data 15.05.2011 - 00:34
fonte
0

Ho provato a utilizzare colori diversi per diverse sessioni SSH qualche tempo fa. Non ha funzionato perché avrei dimenticato quale macchina era quella rossa e che era il blu troppo facilmente.

Ho finito per imparare a me stesso alcuni comandi che ti dicono dove sei e chi sei lì. whoami per esempio.

    
risposta data 15.05.2011 - 13:41
fonte
0

Utilizzando iTerm2, puoi modificare la barra del titolo e il colore della scheda per ogni server da .bashrc su ogni macchina. Consulta i documenti per informazioni al riguardo. Combino questo con l'impostazione del colore immediato per renderlo più facile da distinguere. Generalmente ho una finestra iTerm per server, possibile con più schede. Ciò semplifica la ricerca della finestra corretta in Expose.

Ecco la sezione pertinente del mio .cshrc. Dovrebbe essere adattato per bash (NOTA: ^] è control +] e ^ G è 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

    
risposta data 15.05.2011 - 16:22
fonte

Leggi altre domande sui tag