позволяет запускать программы, которые будут выполняться даже при закрытой консоли и не будут останавливаться при разрыве ssh соединения.
## Область применения
- удаленная работа с сервером (ssh-соединение)
сохранение доступа к рабочей сессии с возможностью последующего подключения и восстановления работы с сессией
## Установка screen
$ apt-get install screen
# Работа с сессией
## Запуск screen
$ screen
По умолчанию, сессия включает только одно окно экрана (по аналогии с вкладками браузера), который представляет из себя командную строку в директории, где была запущена команда screen.
## Просмотр запущеных на экране окон
$ CTRL+a "
покажет номера окон (Num) и наименования (Name)
## Именование / переименование экрана (screen)
$ 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
## Перевести концовку мануала
if we want to close a window in a session, we can just type exit in the window:
$ exit
Copy
This will close the current window and change to the previous window.
If we type exit in the last window in a session, the screen session will end with the message:
[screen is terminating]
## Customizing a screen Session
We can customize a screen session by placing commands in a .screenrc file our user home directory. It’s also a way to easily port our preferred session settings to another machine.
As a quick example, let’s add a couple of customizations to a .screenrc file. In our home directory, we’ll first open the .screenrc file. Then we can add the lines:
screen -t logs
screen -t timer
Copy
After saving the file and starting screen:
$ screen
Copy
We can check the window list:
CTRL+a "
Copy
It shows the two named windows in the session:
Num Name
0 logs
1 timer
Copy
There are many more options in the .screenrc documentation.