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

4.5 KiB

Screen command

Назначение

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