esoe 2 years ago
parent
commit
4d6b323eac
  1. 64
      linux/screen.md

64
linux/screen.md

@ -15,18 +15,23 @@
$ apt-get install screen $ apt-get install screen
# Работа с сессией # Работа с сессией
## Запуск screen ## Запуск screen
$ screen $ screen
По умолчанию, сессия включает только одно окно экрана (по аналогии с вкладками браузера), который представляет из себя командную строку в директории, где была запущена команда screen. аа
По умолчанию, сессия включает только одно окно экрана (по аналогии с вкладками браузера), который представляет из себя командную строку в директории, где была запущена команда screen.
## Просмотр запущеных на экране окон ## Просмотр запущеных на экране окон
$ CTRL+a " $ CTRL+a "
покажет номера окон (Num) и наименования (Name) Покажет номера окон (Num) и наименования (Name).
## Именование / переименование экрана (screen) ## Именование или переименование экрана
$ 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
@ -38,13 +43,14 @@ Set window's title to: newname
$ CTRL+a p {перейти к предыдущему окну} $ CTRL+a p {перейти к предыдущему окну}
$ CTRL+a CTRL+a {Переключение к предыдущему активному окну} $ CTRL+a 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; \ while true; do echo $(date); sleep 5; \
done >> counter.txt done >> counter.txt
- запускаем во втором окне процесс, слушающий изменения в файле: - запускаем во втором окне процесс, слушающий изменения в файле:<p>
$ tail -f counter.txt {выводит последнюю строку файла в консоль} $ tail -f counter.txt {выводит последнюю строку файла в консоль}
Мы запустили некий код в одном окне и мониторим за его исполнением в другом. Мы запустили некий код в одном окне и мониторим за его исполнением в другом.
@ -58,37 +64,35 @@ Set window's title to: newname
- подключение к последнему закрытому экрану/screen - подключение к последнему закрытому экрану/screen
$ screen -R $ screen -R
## Перевести концовку мануала ## Закрыть экран / screen
if we want to close a window in a session, we can just type exit in the window: Закрыть сессию / screen можно закрыв последовательно все окна на экране.
Закрыть окно можно выполнив команду exit в активном окне:
$ exit $ 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: После этого окно закроется и активным станет предыдущее окно
Когда будет выполнена команда exit в последнем окне, экран / screen / сессия закроется и в консоли будет выведено:
[screen is terminating] $ 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. Настройки screen сессии хранятся в виде команд в файле .screenrc, который размещается в домашней директории пользователя.
Это позволяет:
- быстро загружать нужную сессию,
- переносить сессию с одного компьютера на другой.
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: Поместим в файл .screenrc, размещенный в домашней директории следующие команды:
screen -t logs $screen -t logs
screen -t timer
Copy $screen -t timer
After saving the file and starting screen:
После созранения файла с настройками и запуска команды
$ screen $ screen
Copy
We can check the window list: Можно проверять список активных окон:
CTRL+a " CTRL+a "
Copy
It shows the two named windows in the session: Также в файле .screenrc может быть размещено множество дополнительных настроек.
Num Name
0 logs
1 timer
Copy
There are many more options in the .screenrc documentation.
Loading…
Cancel
Save