Me resulta difícil diferenciar entre mi servidor de desarrollo y el de producción. Estoy usando SSH para conectarme a las máquinas (ambas Ubuntu 10.04), y me preguntaba si hay una manera de cambiar el color de la ventana de Terminal dependiendo de a qué servidor SSH esté conectado, ya que me olvidaré de cambiar el color para cada servidor...
Respuestas
¿Demasiados anuncios?Esta entrada del blog proporciona un script para resolver este 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
En Terminal.app puedes cambiar el "tema" por pestaña (por ejemplo, Pro u Ocean) haciendo clic con el botón derecho en una sola pestaña --> Inspeccionar pestaña--> Configuración. También puedes usar iTerm ya que tiene esta opción: "Las etiquetas de las pestañas pueden cambiar de color para indicar las actividades de la sesión"
Hace un tiempo intenté usar diferentes colores para diferentes sesiones de SSH. No funcionó realmente porque olvidaba con demasiada facilidad qué máquina era la roja y cuál era la azul.
Acabé aprendiendo yo mismo unos cuantos comandos que te dicen dónde estás y quiénes están allí. whoami por ejemplo.
Usando iTerm2, puedes cambiar la barra de título y el color de la pestaña para cada servidor desde el .bashrc en cada máquina. Ver el docs para obtener información al respecto. Combino esto con la configuración del color de la indicación para que sea fácil de distinguir. Generalmente tengo una ventana de iTerm por servidor, posiblemente con múltiples pestañas. Esto hace que sea fácil encontrar la ventana correcta en Expose.
Aquí está la sección relevante de mi .cshrc. Habría que adaptarla para bash (NOTA: ^] es control+] y ^G es 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