esoe
2 years ago
1 changed files with 93 additions and 97 deletions
@ -1,98 +1,94 @@ |
|||||||
# Screen command |
# Screen command |
||||||
## Ссылки / links |
<b>Комманда screen операционной системы linux</b> |
||||||
[Ubuntu: manpages](https://manpages.ubuntu.com/manpages/bionic/man1/screen.1.html)<p> |
|
||||||
[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) |
|
||||||
|
|
||||||
## Назначение |
## Ссылки / links |
||||||
Реализация многооконного режима в консоли |
[Ubuntu: manpages](https://manpages.ubuntu.com/manpages/bionic/man1/screen.1.html)<p> |
||||||
позволяет запускать программы, которые будут выполняться даже при закрытой консоли и не будут останавливаться при разрыве ssh соединения. |
[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) |
||||||
|
|
||||||
## Область применения |
## Назначение |
||||||
- удаленная работа с сервером (ssh-соединение) |
Реализация многооконного режима в консоли |
||||||
сохранение доступа к рабочей сессии с возможностью последующего подключения и восстановления работы с сессией |
позволяет запускать программы, которые будут выполняться даже при закрытой консоли и не будут останавливаться при разрыве ssh соединения. |
||||||
|
|
||||||
## Установка screen |
## Область применения |
||||||
$ apt-get install screen |
- удаленная работа с сервером (ssh-соединение) |
||||||
|
сохранение доступа к рабочей сессии с возможностью последующего подключения и восстановления работы с сессией |
||||||
|
|
||||||
# Работа с сессией |
## Установка screen |
||||||
|
$ apt-get install screen |
||||||
|
Данная команда установит программу screen в операционную систему. |
||||||
|
|
||||||
## Запуск screen |
# Работа с сессией / screen |
||||||
$ screen |
|
||||||
аа |
|
||||||
|
|
||||||
По умолчанию, сессия включает только одно окно экрана (по аналогии с вкладками браузера), который представляет из себя командную строку в директории, где была запущена команда screen. |
## Запуск сессии / screen |
||||||
|
$ screen |
||||||
|
По умолчанию, сессия включает только одно окно экрана (по аналогии с вкладками браузера), который представляет из себя командную строку в директории, где была запущена команда screen. |
||||||
|
|
||||||
## Просмотр запущеных на экране окон |
## Просмотр запущеных на экране окон |
||||||
$ CTRL+a " |
$ CTRL+a " |
||||||
Покажет номера окон (Num) и наименования (Name). |
Покажет номера окон (Num) и наименования (Name) |
||||||
|
|
||||||
## Именование или переименование экрана |
## Именование или переименование экрана |
||||||
$ CTRL+a SHIFT+a |
$ CTRL+a SHIFT+a |
||||||
|
Set window's title to: [newName] |
||||||
|
|
||||||
Set window's title to: [newName] |
Далее можно посмотреть список запущенных экранов и увидеть измененное название |
||||||
|
|
||||||
далее можно посмотреть список запущенных экранов и увидеть измененное название |
## Создание второго окна на экране |
||||||
|
$ CTRL+a c |
||||||
|
- второму окну стоит присвоить новое имя |
||||||
|
- далее можно посмотреть список запущенных окон и увидеть измененное название второго окна |
||||||
|
|
||||||
## Создание второго окна на экране |
## Переключение между окнами экрана |
||||||
$ CTRL+a c |
$ CTRL+a n {перейти к следующему окну} |
||||||
- второму окну стоит присвоить новое имя |
$ CTRL+a p {перейти к предыдущему окну} |
||||||
- далее можно посмотреть список запущенных окон и увидеть измененное название второго окна |
$ CTRL+a CTRL+a {Переключение к предыдущему активному окну} |
||||||
|
$ CTRL+a " {Далее можно переключаться между окнамистрелками "вверх" и "вниз"} |
||||||
|
|
||||||
## Переключение между окнами экрана |
## Паралельное исполнение команд в разных окнах одного экрана |
||||||
$ CTRL+a n {перейти к следующему окну} |
- запускаем в одном окне процесс, записыающий результат выполнения в файл: |
||||||
$ CTRL+a p {перейти к предыдущему окну} |
|
||||||
$ CTRL+a CTRL+a {Переключение к предыдущему активному окну} |
|
||||||
$ CTRL+a " {Далее можно переключаться между окнамистрелками "вверх" и "вниз"} |
|
||||||
|
|
||||||
## Паралельное исполнение команд в разных окнах одного экрана |
$ echo Starting at $(date) > counter.txt; \ |
||||||
- запускаем в одном окне процесс, записыающий результат выполнения в файл: |
|
||||||
$ echo Starting at $(date) > counter.txt; \ |
|
||||||
while true; do echo $(date); sleep 5; \ |
|
||||||
done >> counter.txt |
|
||||||
|
|
||||||
- запускаем во втором окне процесс, слушающий изменения в файле:<p> |
while true; do echo $(date); sleep 5; \ |
||||||
$ tail -f counter.txt {выводит последнюю строку файла в консоль} |
|
||||||
|
|
||||||
Мы запустили некий код в одном окне и мониторим за его исполнением в другом. |
done >> counter.txt |
||||||
|
|
||||||
## Переподключение к экрану / screen сессии |
- запускаем во втором окне процесс, слушающий изменения в файле: |
||||||
- завершение сессии: |
|
||||||
просто закрыть терминал |
|
||||||
откючиться от сессии командой |
|
||||||
$ CTRL+a d |
|
||||||
При этом терминал закрывается, а сессия остается активной и подолжает исполняться. |
|
||||||
- подключение к последнему закрытому экрану/screen |
|
||||||
$ screen -R |
|
||||||
|
|
||||||
## Закрыть экран / screen |
$ tail -f counter.txt {выводит последнюю строку файла в консоль} |
||||||
Закрыть сессию / screen можно закрыв последовательно все окна на экране. |
|
||||||
Закрыть окно можно выполнив команду exit в активном окне: |
|
||||||
|
|
||||||
$ exit |
Мы запустили некий код в одном окне и мониторим за его исполнением в другом. |
||||||
|
|
||||||
После этого окно закроется и активным станет предыдущее окно |
## Переподключение к экрану / screen сессии |
||||||
Когда будет выполнена команда exit в последнем окне, экран / screen / сессия закроется и в консоли будет выведено: |
- завершение сессии: |
||||||
|
просто закрыть терминал |
||||||
|
откючиться от сессии командой |
||||||
|
$ CTRL+a d |
||||||
|
|
||||||
$ screen is terminating |
При этом терминал закрывается, а сессия остается активной и подолжает исполняться. |
||||||
|
|
||||||
## Настройка и сохранение сессии |
- подключение к последнему закрытому экрану/screen |
||||||
Настройки screen сессии хранятся в виде команд в файле .screenrc, который размещается в домашней директории пользователя. |
$ screen -R |
||||||
Это позволяет: |
|
||||||
- быстро загружать нужную сессию, |
|
||||||
- переносить сессию с одного компьютера на другой. |
|
||||||
|
|
||||||
Поместим в файл .screenrc, размещенный в домашней директории следующие команды: |
## Закрыть экран / screen |
||||||
|
Закрыть сессию / screen можно закрыв последовательно все окна на экране. |
||||||
|
Закрыть окно можно выполнив команду exit в активном окне: |
||||||
|
$ exit |
||||||
|
|
||||||
$screen -t logs |
После этого окно закроется и активным станет предыдущее окно |
||||||
|
Когда будет выполнена команда exit в последнем окне, экран / screen / сессия закроется и в консоли будет выведено: |
||||||
|
$ screen is terminating |
||||||
|
|
||||||
$screen -t timer |
## Настройка и сохранение сессии |
||||||
|
Настройки screen сессии хранятся в виде команд в файле .screenrc, который размещается в домашней директории пользователя. |
||||||
После созранения файла с настройками и запуска команды |
Это позволяет: |
||||||
|
- быстро загружать нужную сессию, |
||||||
$ screen |
- переносить сессию с одного компьютера на другой. |
||||||
|
Поместим в файл <b>".screenrc"</b>, размещенный в домашней директории следующие команды: |
||||||
Можно проверять список активных окон: |
$screen -t logs |
||||||
|
$screen -t timer |
||||||
CTRL+a " |
После созранения файла с настройками и запуска команды |
||||||
|
$ screen |
||||||
Также в файле .screenrc может быть размещено множество дополнительных настроек. |
Можно проверять список активных окон: |
||||||
|
CTRL+a " |
||||||
|
<b>Также в файле .screenrc может быть размещено множество дополнительных настроек.</b> |
Loading…
Reference in new issue