LXF131:Совет месяца
|
|
|
Совет месяца: Удаленная оболочка
Screen весьма уместен при работе через SSH, ведь он позволяет отключаться от сервера и подключаться вновь, не прерывая работы задач. Эта идея станет ясна, если вы запустите через SSH длительную операцию, не используя screen, и вдруг осознаете, что надо бы закрыть соединение. Чтобы такое не повторилось, добавьте в профиль (~/.bash_profile или ~/.bash_login – лично для себя, или /etc/profile, на благо всем) строку
if [[ -n “${SSH_TTY}” ]] && [[ -z “${STY}” ]]; then screen -xRR fi
Теперь, соединяясь с удаленным компьютером через SSH, вы автоматически подключитесь к сеансу screen или откроете новый, если screen еще не выполняется. Код проверяет наличие переменной окружения $SSH_TTY (признака подключения через SSH) и отсутствие $STY, означающей, что вы уже в сеансе screen (иначе ваш профиль запустил бы screen, который прочел бы этот файл и запустил screen повторно). Опция -xRR велит screen подключаться к действующей сессии в многопользовательском режиме: сеанс, активный на другом терминале, не будет принудительно прерван. Это удобно, если screen запущен на одном компьютере, а вы решили подключиться с другого.
Выход из screen по Ctrl+D или Ctrl+A D вернет вас в оболочку SSH. А если требуется, чтобы при выходе из screen оболочка заверша ла работу, примените
screen -xRR && exit