Screen ubuntu команды. Установка и использование Screen на облачном сервере Ubuntu. Переключение между окнами screen

Больше года одноклассник подбивал меня начать использовать screen во время работы. Шло время, у меня всё никак не доходили до этого руки. А зря…

Screen — это полноэкранный оконный менеджер, позволяющий из одного терминального сеанса работать сразу с несколькими окнами. Иными словами, подключившись к удалённой машине по ssh вы сможите работать сразу с несколькими его окнами внутри одной сессии подобно нажатию ctrl+alt+f1, ctrl+alt+f2… У программы есть одна важная особенность: при обрыве связи или отключении от «скрина» процессы, в нём запущенные не останавливаются и к ним можно вернуться в любой момент. Этому можно найти массу применений. Например, работая с удалённым сервером можно быть уверенным в том, что запущенное компилирование программы дойдёт до конца, даже если вдруг оборвётся связь.

Установка

Устанавливается программа как обычно, например, в Ubuntu так:

apt-get install screen

Стоит так же заметить, что в моей Ubuntu 10.04 Desktop этот пакет уже был в системе.

Использование Screen

Запуск программы:

После запуска программы будет показана краткая информация о ней. Для того, чтобы убрать её нажимаем enter или пробел. Вы можете подумать, что ничего не произошло, однако, это не так: вы внутри терминала, запущенного в screen. После этого мы видим привычную нам консоль.

Для подачи команд screen используется сочетание клавишь ctrl+a. Ниже приведён список основных команд, служащих для управления оболочкой:

  • c — создание нового окна
  • n — переключение к следующему окну
  • p — переключение к предыдущему окну
  • k — закрытие окна
  • d — отключение от скрина
  • » — список запущенных в скрине окон

Например, для создания нового окна нужно нажать ctrl+a и нажать клавишу c.

При отключении от скрина все окна и процессы, запущенные в них продолжают выполняться. Для просмотра запущенных скринов используется команда:

Вывод команды будет примерно таким:

There are screens on:
18388.pts-4.asid-ubuntu-vm (23.09.2010 05:05:30) (Detached)
18272.pts-0.asid-ubuntu-vm (23.09.2010 04:54:23) (Detached)
2 Sockets in /var/run/screen/S-root.

Для того, чтобы подключиться к запущенному скрину выполняем команду screen -r . Например, так:

screen -r 18388.pts-4.asid-ubuntu-vm

или короче:

Если вы забыли отключиться от скрина с другой машины (в выводе screen -ls рядом с ним будет надпись atached), перехватить его можно с помощью параметра -rd:

screen -rd 18388

Для подключения к последнему скрину можно просто:

Ну вот, вроде бы, и всё. Подробнее об этих и других командах, как обычно, в мане.

Screen — это полно-экранная программа, которая может быть использована для мультиплексов физической консоли между несколькими процессами (обычно интерактивными оболочками). Она предлагает пользователю открывать несколько отдельных терминалов в одном оконном менеджере терминала.

На моей Ubuntu 10.04 Server Edition, Screen был установлен по умолчанию. Но, в Linux Mint нет Screen по умолчанию, мне нужно сначала установить его, при помощи команды apt-get. Пожалуйста, следите за процессом установки screen вашего дистрибутива.

# apt-get install screen (On Debian based Systems) # yum install screen (On RedHat based Systems)

На самом деле, Screen — очень хорошая команда в Linux, которая скрыта внутри сотни Linux команд. Давайте стартанем, чтобы увидеть функции Screen.

Запускаем Screen первый раз

Просто введите screen в командной строке. Затем появится screen с таким же интерфейсом, как в командной строке.

Pungki@mint ~ $ screen

Показать параметры screen

Войдя в screen, можно выполнять различные действия, как и в нормальной окружающей среде CLI. Но так как screen — это приложение, поэтому оно имеет команды или параметры.

Наберите Ctrl-A и ? . Теперь вы увидите все команды или параметры на экране.

Screen key bindings, page 1 of 1. Command key: ^A Literal ^A: a break ^B b flow ^F f lockscreen ^X x pow_break B screen ^C c width W clear C focus ^I log H pow_detach D select " windows ^W w colon: hardcopy h login L prev ^H ^P p ^? silence _ wrap ^R r copy ^[ [ help ? meta a quit split S writebuf > detach ^D d history { } monitor M readbuf < suspend ^Z z xoff ^S s digraph ^V info i next ^@ ^N sp n redisplay ^L l time ^T t xon ^Q q displays * kill K k number N remove X title A dumptermcap . lastmsg ^M m only Q removebuf = vbell ^G fit F license , other ^A reset Z version v ^] paste . " windowlist -b - select - 0 select 0 1 select 1 2 select 2 3 select 3 4 select 4 5 select 5 6 select 6 7 select 7 8 select 8 9 select 9 I login on O login off ] paste .

Чтобы выйти из этого экрана, нужно нажать на кнопку «пробела » или «Enter «. (Обратите внимание, что все шоткаты, которые используют «Ctrl-A «, используются без кавычек).

Отключить screen

Одним из преимуществ screen есть то, что его можно отключить. Затем вы можете восстановить его, не теряя информации, которую выполняли перед тем. Вот пример скрипта:

Вы находитесь в середине SSH-on на вашем сервере. Давайте предположим, что вы скачиваете 400MB патча для вашей системы с помощью команды wget .

Процесс загрузки займет около двух часов. Если отключить SSH сессию или оборвать связь из-за аварии, то процесс загрузки остановится. Вам придется начать все с начала. Чтобы избежать этого, мы можем использовать screen и отключить его.

Взгляните на эту команду. Во-первых, вы должны войти в screen.

Pungki@mint ~ $ screen

Затем вы можете создать процесс загрузки. Для примера, на моем Linux Mint я апгрейднул мой dpkg пакет с помощью команды apt-get .

Pungki@mint ~ $ sudo apt-get install dpkg

Пример выходных данных

Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be upgraded: dpkg 1 upgraded, 0 newly installed, 0 to remove and 1146 not upgraded. Need to get 2,583 kB of archives. After this operation, 127 kB of additional disk space will be used. Get:1 http://debian.linuxmint.com/latest/ testing/main dpkg i386 1.16.10 47% 14,7 kB/s

» и «d «. Вы ничего не увидите при нажатии этих клавиш. Результат будет выглядеть так:

Pungki@mint ~ $

После того как вы отключили screen, например, будем считать, что вы оборвали SSH сессию и пошли домой. Дома вы запускаете SSH снова на вашем сервере, и вы хотите увидеть как проходит процесс загрузки. Чтобы сделать это, вам нужно восстановить screen. Вы можете выполнить следующую команду:

Pungki@mint ~ $ screen -r

И вы увидите, что процесс возобновился с того места, где вы его оборвали.

Если у вас есть более чем 1 screen сессии, вам нужно ввести ID screen сессии. Используйте screen -ls, чтобы увидеть, сколько screen имеются.

Pungki@mint ~ $ screen -ls

Пример выходных данных

Pungki@mint ~ $ screen -ls There are screens on: 7849.pts-0.mint (10/06/2013 01:50:45 PM) (Detached) 5561.pts-0.mint (10/06/2013 11:12:05 AM) (Detached) 2 Sockets in /var/run/screen/S-pungki

Если вы хотите, то восстановите screen 7849.pts-0 .mint, затем введите эту команду.

Pungki@mint ~ $ screen -r 7849

Использование нескольких screen

Возможно ли запустить больше, чем 1 screen , чтобы выполнить работу? Да. Вы можете работать с несколькими окнами экрана одновременно. Есть 2 (два) способа сделать это.

Во-первых, вы можете отсоединить первый screen и запустить другой screen на терминале. Во-вторых, вы делаете вложения screen.

Переключение между screen

Когда у вас вложенные экраны, вы можете переключаться между ними с помощью команды «Ctrl-A » и «n «. Это будет переход к следующему экрану. Когда вам нужно вернуться к предыдущему экрану, нажмите «Ctrl-A » и «p «.

Чтобы создать новое окно экрана, просто нажмите «Ctrl-A » и «с «.

Залогинивание, которое вы делаете

Иногда важно, чтобы записать то, что вы сделали в то время, когда находились в консоли. Предположим, вы — администратор Linux, которые управляет множеством Linux серверов.

С залогиниванием экрана вам не нужно записывать каждую команду, которую вы сделали. Для активации Функция регистрации экрана просто нажмите «strong>Ctrl-А» и «H «. (Пожалуйста, будьте осторожны, мы используем большую букву H . Использование маленькой буквы h только создаст скриншот экрана в отдельном файле).

В нижней левой части экрана появится уведомление, которое сообщает: Creating logfile “screenlog.0 “. Вы найдете screenlog.0 файл в вашем домашнем каталоге.

Эта функция будет добавлять все, что вы делаете, когда находитесь в окне экрана. Закройте экран, чтобы залогиниться, нажмите «Ctrl-А » и «Н » еще раз.

Pungki@mint ~ $ screen -L

Еще один способ, чтобы активировать функцию ведения журнала — вы можете добавить параметр «-L «, когда screen запускается первый раз. Команда будет выглядеть следующим образом.

Pungki@mint ~ $ screen -L

Screen блокировки

Screen также шоткат для блокировки экрана. Вы можете нажать «Ctrl-А » и «х » для блокировки экрана. Это удобно, если вы хотите быстро заблокировать экран. Вот пример вывода блокировки экрана после нажатия на шоткаты.

Screen used by Pungki Arianto on mint. Password:

Вы можете использовать свой Linux пароль, чтобы разблокировать его.

Добавить пароль для блокировки screen

В целях безопасности, вы можете поставить пароль на вашу screen сессию. Ввести пароль будет предложено, когда вы хотите повторно приатачить screen. Этот пароль отличается от механизма блокировки экрана выше.

Чтобы защитить ваш экран паролем, вы можете редактировать файл “$HOME/.screenrc ”. Если файла не существует, его можно создать вручную. Синтаксис будет таким.

Password crypt_password

Чтобы создать «crypt_password «, вы можете использовать команду «mkpasswd » на Linux. Вот команда с паролем «pungki123 «.

Pungki@mint ~ $ mkpasswd pungki123 l2BIBzvIeQNOs

mkpasswd будет генерировать пароль, как показано выше. Как только вы получите пароль, вы можете скопировать его в файл «.screenrc » и сохранить. Теперь файл «.screenrc » будет выглядеть так.

Password l2BIBzvIeQNOs

При следующем запуске экрана отключите его, и пароль будет запрашиваться при попытке повторно включить экран, как показано ниже:

Pungki@mint ~ $ screen -r 5741 Screen password:

Введите пароль «pungki123 » и экран подключится снова.

Как только вы запустите запрос пароля экрана и нажмете «Ctrl-А » и «х «, то на выходе будет это.

Screen used by Pungki Arianto on mint. Password: Screen password:

Вам нужно будет ввести пароль два раза . Первый раз — ваш пароль Linux , второй — пароль, который вы положили в файл .screenrc .

Выход из screen

Есть 2 (два) способа выхода из экрана. Первый — мы используем «Ctrl-А » и «d «, чтобы отключить его. Второй — мы можем использовать команду погашения экрана. Вы также можете использовать «Ctrl-А » и «К » чтобы прибить экрана.

Screen - это полноэкранная программа, работающая в текстовом режиме, которая позволяет в одной консоли (или ssh-сессии) иметь несколько виртуальных экранов с независимо выполняющимися в них программами. Т.е. программа screen позволяет открыть несколько терминальных сеансов в одном окне терминала. Программа screen может быть очень полезной в том случае, если, например, вы работаете с несколькими программам в интерфейсе командной строки и вам необходимо чтобы они выполнялись одновременно, в независимых сессиях и требуется возможность переключения между ними. Также, программа screen дает возможность передать одну сессию другому пользователю.

Во многих дистрибутивах команда screen установлена по-умолчанию, однако, если в вашей системе это не так, вы можете установить её вручную достаточно просто (т.к. она есть в стандартных репозиториях большинства дистрибутивов).

Для rpm-based дистрибутивов (RedHat, CentOS, Fedora, итп) выполните:

Для deb-based дистрибутивов (Debian, Ubuntu, итп) выполните:

# apt-get install screen (On Debian based Systems)

Запуск screen в первый раз

Для запуска команды screen просто выполните:

Вывод информации о клавиатурных сокращениях

После запуска команды screen вы можете работать совершенно обычным образом в интерфейсе командной строки. Но, поскольку команда screen сама является программой, у неё есть свои команды и параметры.

Нажмите "Ctrl+A" и, затем, "?" (без кавычек). На экран будут выведены клавиатурные сокращения:

Для выхода нажмите "пробел" или "Enter"

Отключение экрана screen

Важнейшим преимуществом команды screen является функция отсоединения экрана с последующей возможностью подключения (при этом выполнение программ не прерывается).

Например, это может понадобится в том случае, если вы работаете по ssh на удаленной машине, и вам необходимо скачать объемный файл с помощью команды wget, на что потребуется, например, 2 часа. В том случае, если вы закроете ssh-сессию по собственному желанию или случайно по причине разрыва соединения процесс загрузки также прервется. Соответственно, вам придется вручную запускать загрузку заново. Избежать такой проблемы как раз поможет команда screen.

В первую очередь, запустите команду screen:

Затем запустите команду, которая занимает длительное время. Например, это может быть обновление системы или, как сказано выше, процесс загрузки большого файла:

wget http://mirror.yandex.ru/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso

Во время процесса загрузки нажмите комбинацию клавиш "Ctrl+A" и затем "d" (также можно "Ctrl+D"). При нажатии этих клавиш на экран ничего выведено не будет, только после того, как будет выполнено отключение экрана вы увидите подобное:


$

Подключение отключенного экрана screen.

После того, как вы отключили экран screen вы закрыть сессию ssh. Подключившись позднее, например, удаленно из другого места вы можете подключить экран опять и проверить, была ли завершена загрузка. Для этого выполните команду:

Вы увидите, что процесс, который вы запустили все еще работает.

В том случае, если вы запустили и оставили отключенными более чем одну сессию screen вам будет необходимо указать ID этой сессии. Для того, чтобы посмотреть, сколько сессий было запущено выполните:

Вывод будет примерно таким:

There are screens on:
7938.pts-0.howtoitru (Detached)
7724.pts-0.howtoitru (Detached)
2 Sockets in /var/run/screen/S-howtoitru

Если вы хотите восстановить сессию 7724.pts-0.howtoitru выполните:

Использование нескольких сессий screen

Как уже стало понятно, вы можете работать с несколькими сессиями screen для выполнения множества задач одновременно. Переключение между экранами можно выполнить двумя способами:

  • отключение экрана и подключение к другому (как описано выше)
  • переключение между "вложенными" экранами, не завершая команду screen

Для второго способа необходимо запустить команду screen и нажать "Ctrl-A" и "c" для создания следующего вложенного экрана. Переключение между экранами производится командами "Ctrl-A" и "n"(следующий экран) и "Ctrl-A" и "p"(предыдущий экран).

Запись (логирование) выполняемых команд.

Иногда желательно производить запись того, что выполняется в консоли, например, если вы системный администратор, управляющий множеством различных серверов.

Для запуска функции логирования нажмите "Ctrl-A" и "H" (обратите внимание на регистр символа "H", т.к. если вы выполните команду "h" будет создан скриншот экрана вместо записи действий). Все ваши действия и выводы на экран будут записаны в файл screenlog.0 в вашей домашней директории.

Для прекращения записи опять выполните "Ctrl-A" и "H".

Также можно активировать запись запусти команду с параметром -L:

Блокировка экрана

Существует возможность блокировки экрана с помощью сочетания клавиш "Ctrl-A" и "x". При блокировке на экран будет выведено:

Screen used by howtoitru onhowtoitru.
Password:

Завершение сессии screen

Для завершения сессии (полного, а не отключения, выполняемого командой "Ctrl+A" и "d") выполните обычную команду выхода:

Также можно использовать сочетание клавиш "Ctrl+A" и "k" для завершения сесии.

Screen - это полно-экранная программа, которая может быть использована для мультиплексов физической консоли между несколькими процессами (обычно интерактивными оболочками). Она предлагает пользователю открывать несколько отдельных терминалов в одном оконном менеджере терминала.

На моей Ubuntu 10.04 Server Edition, Screen был установлен по умолчанию. Но, в Linux Mint нет Screen по умолчанию, мне нужно сначала установить его, при помощи команды apt-get. Пожалуйста, следите за процессом установки screen вашего дистрибутива.

# apt-get install screen (On Debian based Systems) # yum install screen (On RedHat based Systems)

На самом деле, Screen - очень хорошая команда в Linux, которая скрыта внутри сотни Linux команд. Давайте стартанем, чтобы увидеть функции Screen.

Запускаем Screen первый раз

Просто введите screen в командной строке. Затем появится screen с таким же интерфейсом, как в командной строке.

Pungki@mint ~ $ screen

Показать параметры screen

Войдя в screen, можно выполнять различные действия, как и в нормальной окружающей среде CLI. Но так как screen - это приложение, поэтому оно имеет команды или параметры.

Наберите Ctrl-A и ? . Теперь вы увидите все команды или параметры на экране.

Screen key bindings, page 1 of 1. Command key: ^A Literal ^A: a break ^B b flow ^F f lockscreen ^X x pow_break B screen ^C c width W clear C focus ^I log H pow_detach D select " windows ^W w colon: hardcopy h login L prev ^H ^P p ^? silence _ wrap ^R r copy ^[ [ help ? meta a quit \ split S writebuf > detach ^D d history { } monitor M readbuf < suspend ^Z z xoff ^S s digraph ^V info i next ^@ ^N sp n redisplay ^L l time ^T t xon ^Q q displays * kill K k number N remove X title A dumptermcap . lastmsg ^M m only Q removebuf = vbell ^G fit F license , other ^A reset Z version v ^] paste . " windowlist -b - select - 0 select 0 1 select 1 2 select 2 3 select 3 4 select 4 5 select 5 6 select 6 7 select 7 8 select 8 9 select 9 I login on O login off ] paste .

Чтобы выйти из этого экрана, нужно нажать на кнопку "пробела " или "Enter ". (Обратите внимание, что все шоткаты, которые используют "Ctrl-A ", используются без кавычек).

Отключить screen

Одним из преимуществ screen есть то, что его можно отключить. Затем вы можете восстановить его, не теряя информации, которую выполняли перед тем. Вот пример скрипта:

Вы находитесь в середине SSH-on на вашем сервере. Давайте предположим, что вы скачиваете 400MB патча для вашей системы с помощью команды wget .

Процесс загрузки займет около двух часов. Если отключить SSH сессию или оборвать связь из-за аварии, то процесс загрузки остановится. Вам придется начать все с начала. Чтобы избежать этого, мы можем использовать screen и отключить его.

Взгляните на эту команду. Во-первых, вы должны войти в screen.

Pungki@mint ~ $ screen

Затем вы можете создать процесс загрузки. Для примера, на моем Linux Mint я апгрейднул мой dpkg пакет с помощью команды apt-get .

Pungki@mint ~ $ sudo apt-get install dpkg

Пример выходных данных

Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be upgraded: dpkg 1 upgraded, 0 newly installed, 0 to remove and 1146 not upgraded. Need to get 2,583 kB of archives. After this operation, 127 kB of additional disk space will be used. Get:1 http://debian.linuxmint.com/latest/ testing/main dpkg i386 1.16.10 47% 14,7 kB/s

" и "d ". Вы ничего не увидите при нажатии этих клавиш. Результат будет выглядеть так:

Pungki@mint ~ $

Снова включить screen

После того как вы отключили screen, например, будем считать, что вы оборвали SSH сессию и пошли домой. Дома вы запускаете SSH снова на вашем сервере, и вы хотите увидеть как проходит процесс загрузки. Чтобы сделать это, вам нужно восстановить screen. Вы можете выполнить следующую команду:

Pungki@mint ~ $ screen -r

И вы увидите, что процесс возобновился с того места, где вы его оборвали.

Если у вас есть более чем 1 screen сессии, вам нужно ввести ID screen сессии. Используйте screen -ls, чтобы увидеть, сколько screen имеются.

Pungki@mint ~ $ screen -ls

Пример выходных данных

Pungki@mint ~ $ screen -ls There are screens on: 7849.pts-0.mint (10/06/2013 01:50:45 PM) (Detached) 5561.pts-0.mint (10/06/2013 11:12:05 AM) (Detached) 2 Sockets in /var/run/screen/S-pungki

Если вы хотите, то восстановите screen 7849.pts-0 .mint, затем введите эту команду.

Pungki@mint ~ $ screen -r 7849

Использование нескольких screen

Возможно ли запустить больше, чем 1 screen , чтобы выполнить работу? Да. Вы можете работать с несколькими окнами экрана одновременно. Есть 2 (два) способа сделать это.

Во-первых, вы можете отсоединить первый screen и запустить другой screen на терминале. Во-вторых, вы делаете вложения screen.

Переключение между screen

Когда у вас вложенные экраны, вы можете переключаться между ними с помощью команды "Ctrl-A " и "n ". Это будет переход к следующему экрану. Когда вам нужно вернуться к предыдущему экрану, нажмите "Ctrl-A " и "p ".

Чтобы создать новое окно экрана, просто нажмите "Ctrl-A " и "с ".

Залогинивание, которое вы делаете

Иногда важно, чтобы записать то, что вы сделали в то время, когда находились в консоли. Предположим, вы - администратор Linux, которые управляет множеством Linux серверов.

С залогиниванием экрана вам не нужно записывать каждую команду, которую вы сделали. Для активации Функция регистрации экрана просто нажмите "strong>Ctrl-А" и "H ". (Пожалуйста, будьте осторожны, мы используем большую букву H . Использование маленькой буквы h только создаст скриншот экрана в отдельном файле).

В нижней левой части экрана появится уведомление, которое сообщает: Creating logfile “screenlog.0 “. Вы найдете screenlog.0 файл в вашем домашнем каталоге.

Эта функция будет добавлять все, что вы делаете, когда находитесь в окне экрана. Закройте экран, чтобы залогиниться, нажмите "Ctrl-А " и "Н " еще раз.

Pungki@mint ~ $ screen -L

Еще один способ, чтобы активировать функцию ведения журнала - вы можете добавить параметр "-L ", когда screen запускается первый раз. Команда будет выглядеть следующим образом.

Pungki@mint ~ $ screen -L

Screen блокировки

Screen также шоткат для блокировки экрана. Вы можете нажать "Ctrl-А " и "х " для блокировки экрана. Это удобно, если вы хотите быстро заблокировать экран. Вот пример вывода блокировки экрана после нажатия на шоткаты.

Screen used by Pungki Arianto on mint. Password:

Вы можете использовать свой Linux пароль, чтобы разблокировать его.

Добавить пароль для блокировки screen

В целях безопасности, вы можете поставить пароль на вашу screen сессию. Ввести пароль будет предложено, когда вы хотите повторно приатачить screen. Этот пароль отличается от механизма блокировки экрана выше.

Чтобы защитить ваш экран паролем, вы можете редактировать файл “$HOME/.screenrc ”. Если файла не существует, его можно создать вручную. Синтаксис будет таким.

Password crypt_password

Чтобы создать "crypt_password ", вы можете использовать команду "mkpasswd " на Linux. Вот команда с паролем "pungki123 ".

Pungki@mint ~ $ mkpasswd pungki123 l2BIBzvIeQNOs

mkpasswd будет генерировать пароль, как показано выше. Как только вы получите пароль, вы можете скопировать его в файл ".screenrc " и сохранить. Теперь файл ".screenrc " будет выглядеть так.

Password l2BIBzvIeQNOs

При следующем запуске экрана отключите его, и пароль будет запрашиваться при попытке повторно включить экран, как показано ниже:

Pungki@mint ~ $ screen -r 5741 Screen password:

Введите пароль "pungki123 " и экран подключится снова.

Как только вы запустите запрос пароля экрана и нажмете "Ctrl-А " и "х ", то на выходе будет это.

Screen used by Pungki Arianto on mint. Password: Screen password:

Вам нужно будет ввести пароль два раза . Первый раз - ваш пароль Linux , второй - пароль, который вы положили в файл .screenrc .

Выход из screen

Есть 2 (два) способа выхода из экрана. Первый - мы используем "Ctrl-А " и "d ", чтобы отключить его. Второй - мы можем использовать команду погашения экрана. Вы также можете использовать "Ctrl-А " и "К " чтобы прибить экрана.

screen - менеджер экран в Linux. Он позволяет создать виртуальный экран консоли, который может выполнять длительные процессы в консоли без постоянного подключения к серверу. Т.е. можно запустить процесс в этом виртуальном экране, отключиться от сервера и через некоторое время проверить выполнение процесса, подключившись к серверу и открыв виртуальный экран.

Это очень полезно при выполнении долгих bash-скриптов: различных синхронизациях сайтов, скачивании файлов, разворачивании дампов огромных баз данных и т.п. Не нужно бояться, что, запустив многочасовой процесс в терминале, вы вернетесь через час и увидете, что соединение было прервано. За несколько часов даже при стабильном соединении с Интернет могут быть секундные разрывы, неговоря уже об нестабильной сети в офисах.

Также это может быть полезно, если вы запустили процесс на одном компьютере, а хотите проконтролировать уже на другом.

Установка

Yum install screen

Apt-get install screen

Команды в CentOS и Debian могут отличаться, сочетания клавиш ниже приведены для CentOS 6.9

Создание и переименование экрана

Чтобы создать новый экран, вводим:

Это виртуальный экран той же консоли, здесь доступны все те же операции. Чтобы отключиться от экрана, нажимаем +[a]+[d] (регистр не важен) и попадаем в обычную консоль. При этом экран работает; если там запущен тот же top, то при возвращении он так и будет работать.

Полный список команд экрана можно получить нажав +[a]+[?] .

Для возврата в экран нужно знать имя сокета. Все работающие экраны можно получить командой:

Screen -ls

Результат будет примерно такой:

There are screens on: 8525.pts-0.dedic1234 (Detached) 9709.pts-0.dedic1234 (Detached) 2 Sockets in /var/run/screen/S-testserver.

Имя сокета выглядит как .. . Для более понятного имени можно создавать новый экран командой:

Screen -S yourtitle

В этом случае имя экрана будет выглядеть как Yourtitle

Открытый экран можно переименовать, выполнив следующие действия:

  • нажимаем +[a]+[:] (двоеточие)
  • вводим sessionname yourtitle
  • Enter

Подключение к экрану и уничтожение

Для возврата в экран нужно выполнить команду:

Screen -R pid.yourtitle

Screen -r pid

Screen -r yourtitle

Чтобы отключиться от экрана и уничтожить его, вводим при открытом экране +[a]+[k], [y] .

Чтобы уничтожить закрытый экран, посылаем в него команду kill, вводим.