шпаргалки
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

5.8 KiB

Screen command

Комманда screen операционной системы linux

Ubuntu: manpages

Baeldung: linux

Назначение

Реализация многооконного режима в консоли
позволяет запускать программы, которые будут выполняться даже при закрытой консоли и не будут останавливаться при разрыве 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, который размещается в домашней директории пользователя.
Это позволяет:
  - быстро загружать нужную сессию,
  - переносить сессию с одного компьютера на другой.
Поместим в файл <b>".screenrc"</b>, размещенный в домашней директории следующие команды:
  $screen -t logs
  $screen -t timer
После созранения файла с настройками и запуска команды
  $ screen
Можно проверять список активных окон:
  CTRL+a "

Также в файле .screenrc может быть размещено множество дополнительных настроек.