# Screen command Комманда screen операционной системы linux ## Ссылки / links [Ubuntu: manpages](https://manpages.ubuntu.com/manpages/bionic/man1/screen.1.html)

[Baeldung: linux](https://translated.turbopages.org/proxy_u/en-ru.ru.87f13298-63ac1c2f-c385dbbc-74722d776562/https/www.baeldung.com/linux/screen-command#building-a-session) [кратко основное](https://itman.in/ssh-screen/#__screen) ## Назначение Реализация многооконного режима в консоли позволяет запускать программы, которые будут выполняться даже при закрытой консоли и не будут останавливаться при разрыве ssh соединения. ## Область применения - удаленная работа с сервером (ssh-соединение) сохранение доступа к рабочей сессии с возможностью последующего подключения и восстановления работы с сессией ## Установка screen $ apt-get install screen Данная команда установит программу screen в операционную систему. # Работа с сессией / screen ## Запуск сессии / screen $ screen По умолчанию, сессия включает только одно окно экрана (по аналогии с вкладками браузера), который представляет из себя командную строку в директории, где была запущена команда screen. ## Просмотр запущеных на экране окон $ CTRL+a " Покажет номера окон (Num) и наименования (Name) ## Именование или переименование экрана $ CTRL+a SHIFT+a Set window's title to: [newName] Далее можно посмотреть список запущенных экранов и увидеть измененное название ## Создание второго окна на экране $ CTRL+a c - второму окну стоит присвоить новое имя - далее можно посмотреть список запущенных окон и увидеть измененное название второго окна ## Переключение между окнами экрана $ CTRL+a n {перейти к следующему окну} $ CTRL+a p {перейти к предыдущему окну} $ CTRL+a CTRL+a {Переключение к предыдущему активному окну} $ CTRL+a " {Далее можно переключаться между окнамистрелками "вверх" и "вниз"} ## Паралельное исполнение команд в разных окнах одного экрана - запускаем в одном окне процесс, записыающий результат выполнения в файл: $ echo Starting at $(date) > counter.txt; \ while true; do echo $(date); sleep 5; \ done >> counter.txt - запускаем во втором окне процесс, слушающий изменения в файле: $ tail -f counter.txt {выводит последнюю строку файла в консоль} Мы запустили некий код в одном окне и мониторим за его исполнением в другом. ## Переподключение к экрану / screen сессии - завершение сессии: просто закрыть терминал откючиться от сессии командой $ CTRL+a d При этом терминал закрывается, а сессия остается активной и подолжает исполняться. - подключение к последнему закрытому экрану/screen $ screen -R ## Закрыть экран / screen Закрыть сессию / screen можно закрыв последовательно все окна на экране. Закрыть окно можно выполнив команду exit в активном окне: $ exit После этого окно закроется и активным станет предыдущее окно Когда будет выполнена команда exit в последнем окне, экран / screen / сессия закроется и в консоли будет выведено: $ screen is terminating ## Настройка и сохранение сессии Настройки screen сессии хранятся в виде команд в файле .screenrc, который размещается в домашней директории пользователя. Это позволяет: - быстро загружать нужную сессию, - переносить сессию с одного компьютера на другой. Поместим в файл ".screenrc", размещенный в домашней директории следующие команды: $screen -t logs $screen -t timer После созранения файла с настройками и запуска команды $ screen Можно проверять список активных окон: CTRL+a " Также в файле .screenrc может быть размещено множество дополнительных настроек.