OK, si insistes en invocar ssh desde la línea de comandos, aquí hay algo que debería hacer el truco: escribir un script de shell y guardarlo en alguna parte como colorssh.sh
. Cuando se ejecuta, busca sus argumentos para un host coincidente y establece los colores de la ventana de terminal activa de forma apropiada. Luego invoca el ssh real, pasando por esos argumentos. Cuando ssh devuelve la ejecución a la secuencia de comandos, restablece los colores a la normalidad.
Dado que es probable que desee seguir escribiendo ssh
en lugar de colorssh.sh
, puede establecer un alias en su .profile
.
¿En cuanto al script en sí? Aquí está el codez:
#!/bin/bash
function setTerminalColors {
osascript \
-e "tell application \"Terminal\"" \
-e "tell selected tab of front window" \
-e "set normal text color to $1" \
-e "set background color to $2" \
-e "end tell" \
-e "end tell"
}
for ARG in $*
do
case "$ARG" in
host.example.com)
[email protected])
setTerminalColors "{0,65535,65535}" "{65535,0,0}"
;;
[email protected])
setTerminalColors "{65535,65535,0}" "{0,65535,0}"
;;
esac
done
ssh $*
# back to normal
setTerminalColors "{0,0,0}" "{65535,65535,65535}"
Tendrás que editar la secuencia de comandos para agregar nuevas combinaciones de host/color.
Tenga en cuenta que los colores se deben especificar como un triplete RGB de enteros en el rango 0-65535. Lo sé, raro, ¿verdad?
Técnicamente, la porción de AppleScript cambia las propiedades en desuso. Se supone que debes cambiar los colores de una ventana a través de su propiedad "configurar ajustes", pero sospecho que eso cambiaría todas las ventanas usando ese conjunto de configuraciones, no solo el actual.
Además, esta secuencia de comandos supone que negro sobre blanco es su configuración "normal". Si ese no es el caso, podría cambiar la secuencia de comandos para guardar los valores actuales antes de ejecutar o utilizar los colores de la configuración predeterminada establecida.
Vea también http://stackoverflow.com/q/18715941/754997 –