Reconhece quando a sessão ssh é fechada

2

Eu estava tentando alterar meu perfil de terminal ao conectar com o ssh a um computador remoto. Isso funciona bem com um certo número de perfis locais e xdotool key Alt+t p Down Return .

Agora, a questão é como reconhecer se uma sessão ssh é fechada no terminal. Como quando você pressiona C-d, ele mostra o logout e a conexão fechada. Mas há uma maneira de ver se estou de volta à minha antiga sessão? Como há algum arquivo recarregado ao fechar a sessão ssh? Tanto quanto eu sei é .bashrc não mais executado, mas talvez qualquer outra coisa.

user@remote-pc:~$ logout
Connection to remote-pc closed.
DO_SOMETHING_HERE
user@local-pc:~$

Como o perfil precisa ser alterado na máquina local, é necessário executar o comando localmente. Portanto, não pode ser executado com .bash_logout, pois isso será executado na máquina remota.

    
por Rolf Lussi 30.10.2015 / 14:56

1 resposta

2

Resolveu com uma função em torno do ssh normal. agora muda a cor dependendo do servidor e muda de volta ao retornar ao host local.

alias blue='xdotool key --delay 50 Alt+t p Return'
alias dark='xdotool key --delay 50 Alt+t p Down Return'
alias green='xdotool key --delay 50 Alt+t p Down Down Return'
alias red='xdotool key --delay 50 Alt+t p Down Down Down Return'


cssh(){
  if [[  == *"remote1"* ]]
  then
    green
  elif [[  == *"remote2"* ]]
  then
    red
  else
    blue
  fi
  ssh $@
  sleep 0.5
  dark
}
    
por Rolf Lussi 30.10.2015 / 15:43