Распознайте когда ssh закрытый сеанс

Я пытался изменить свой терминальный профиль при соединении с ssh с удаленным компьютером. Это работает хорошо с определенным числом локальных профилей и xdotool key Alt+t p Down Return.

Теперь вопрос состоит в том, как распознать, закрыт ли ssh сеанс в терминале. Как то, когда Вы нажимаете C-d, он показывает выход из системы и закрытое соединение. Но есть ли способ видеть, вернулся ли я на своей старой сессии. Как там некоторый файл перезагружается при закрывании ssh сеанса? Так, как я знаю, .bashrc, не снова выполняемый, но возможно что-либо еще.

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

Так как профиль должен быть изменен на локальной машине, это необходимый для выполнения команды локально. Таким образом, это не может быть выполнено с .bash_logout, так как это будет выполнено на удаленной машине.

2
задан 30 October 2015 в 16:56

1 ответ

Решенный это с функцией вокруг нормального ssh. теперь изменяет цвет в зависимости от сервера и возвращает его при возврате к локальному хосту.

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 [[ $1 == *"remote1"* ]]
  then
    green
  elif [[ $1 == *"remote2"* ]]
  then
    red
  else
    blue
  fi
  ssh $@
  sleep 0.5
  dark
}
2
ответ дан 2 December 2019 в 03:51

Другие вопросы по тегам:

Похожие вопросы: