5.4 KiB
Screen command
Ссылки / links
Назначение
Реализация многооконного режима в консоли позволяет запускать программы, которые будут выполняться даже при закрытой консоли и не будут останавливаться при разрыве ssh соединения.
Область применения
- удаленная работа с сервером (ssh-соединение) сохранение доступа к рабочей сессии с возможностью последующего подключения и восстановления работы с сессией
Установка screen
$ apt-get install 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 может быть размещено множество дополнительных настроек.