Eu fiz isso usando iTerm2 e alguns AppleScript. Aqui está a função para shells (bash ou zsh) que muda a cor de fundo:
function iterm_bg_color() {
local tty=$(tty)
osascript -e "
tell application \"iTerm\"
repeat with theTerminal in terminals
tell theTerminal
try
tell session id \"$tty\"
set background color to {(($1 * 257)), (($2 * 257)), (($3 * 257))} as RGB color
end tell
on error errmesg number errn
end try
end tell
end repeat
end tell"
}
Use-o assim para tornar o fundo vermelho:
$ iterm_bg_color 255 0 0
Eu também fiz alguns aliases para o atalho que iniciava o ssh como algum usuário, assim:
alias ssd="iterm_bg_color 30 0 0; ssh danger@somehost; iterm_bg_color 0 0 0"
Ou você poderia escrever um wrapper que colorisse o ssh inteiramente com base em um usuário. Algo parecido, por bash
:
function ssh() {
if [[ $1 == danger@* ]]; then
iterm_bg_color 50 0 0
/usr/bin/ssh "$@"
iterm_bg_color 0 0 0
else
/usr/bin/ssh "$@"
fi
}
ou para zsh
:
function ssh() {
if [[ "$1" =~ "danger@.*" ]]; then
iterm_bg_color 50 0 0
/usr/bin/ssh $*
iterm_bg_color 0 0 0
else
/usr/bin/ssh $*
fi
}
Basta colocar o iterm_bg_color
na configuração do shell ( ~/.bash_profile
ou ~/.zshrc
respectivamente) e adicionar a função ssh()
(ou alias) para torná-lo colorido automaticamente quando você se conectar.