шпаргалки
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.4 KiB

Screen command

Ubuntu: manpages

Baeldung: linux

Назначение

Реализация многооконного режима в консоли позволяет запускать программы, которые будут выполняться даже при закрытой консоли и не будут останавливаться при разрыве 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 может быть размещено множество дополнительных настроек.