Esto es lo que hice en mi Mac. Para cada servidor, agrego una entrada en mi archivo ~ / .ssh / config, p. Ej.
Host app13
HostName server.example.com
User tom
PermitLocalCommand yes
LocalCommand osascript %d/bin/change_terminal_colours.scpt 12 35 35
Este Applescript se activa una vez que se establece la sesión SSH. Establece el color de fondo del terminal a los valores RGB proporcionados (o vuelve al valor predeterminado si no se proporcionan valores de color). La parte potencialmente complicada es interceptar el final de la sesión SSH para restablecer los colores a los valores predeterminados. Para eso, creé el siguiente script de shell como ~ / bin / ssh para anular el comando ssh predeterminado. Esto esencialmente intercepta y envuelve cualquier llamada al comando SSH. Intenté usar alias y funciones, pero esta solución funcionó mejor:
#!/bin/bash
/usr/bin/ssh $@
osascript ~/bin/change_terminal_colours.scpt
Aquí está la fuente del script change_terminal_colours.scpt . Ponga esto en su directorio ~ / bin también:
on run argv
tell application "Terminal"
# NOTE: Color values range from 0 to 65535.
if (count of argv) > 0 then
set backgroundColor to {(item 1 of argv) * 256, (item 2 of argv) * 256, (item 3 of argv) * 256}
else
set backgroundColor to background color of default settings
end if
try
set background color of (selected tab of front window) to backgroundColor
end try
end tell
end run
Escribí esta solución hace una semana y la he estado usando desde entonces. Espero que otros lo encuentren valioso. Creo que funciona mejor que cualquiera de las soluciones que encontré en Google.