Screen – управления окнами из консоли
Screen предназначен для того чтобы при проблемах соединения сессия не закрывалась, а сохранялась и продолжала работать.
Устанавливаем:
#yum install -y screen
Для начала, освоим основные действия для манипуляции с окнами
Открываем любой эмулятор терминала (в моем случае - это putty) и запускаем в нем Screen:
$ screen
Это окно - первое окно Screen, которое было создано программой автоматически, при ее запуске. Создадим еще одно окно.
Набираем на клавиатуре следующую комбинацию клавиш (везде без -, - это разделитель):
Ctrl+a – c
Запустим в этом окне какой-либо процесс. Пусть это будет top и создаем еще одно окно
Ctrl+a – c и запустим в нем какой-либо процесс. На этот раз путь это будет man screen
На данный момент мы имеем в одном окне терминала putty три запущенных окна screen.
Как глянуть сколько окон? как вариант Ctrl+a – w
Мы видим в левом верхнем углу окна строку:
0$ bash 1*$ bash 2-$ bash
Это список активных, созданных нами окон screen. 0, 1, 2 - это номера окон, а bash - их имена (заголовки). Как видно, нумерация окон начинается с нуля. А вот имена у всех трех одинаковые - bash
Окна:
* 0$ bash - это то, которое Screen сам создал при своем запуске (забегая чуть вперед, можно сказать, что их колличество может быть не одно и выставляется оно в конфигурационном файле);
* 1-$ bash - в этом окне мы запутили top;
* 2*$ bash - в этом окне у нас запущен man screen.
Переключение производится сочетанием:
Cntrl+a - p - переключиться на предыдущую вирутальную консоль
Cntrl+a - n или пробел - переключиться на следующую вирутальную консоль
Ctrl+a – “ -- интерактивный (в отличие от Ctrl+a – w) список созданных нами окон. Можно перемещаться по нему стрелками вверх-вниз и входить Enter‘ом в нужное.
Можно перейти на нужное окно, зная его номер, по команде:
Ctrl+a – номер_окна
Например, перейдем на второе окно:
Ctrl+a – 1
Или, чуть переиначив команду:
Ctrl+a – ‘
В нижней строке появится предложение ввести номер окна, в которое мы хотим перейти. Допустим, нам нужно перейти в первое окно — вводим номер 0 и нажимаем Enter:
Как мы видели из вывода команд Ctrl+a – w и Ctrl+a – “, имена (заголовки) окон одинаковые. Давайте исправим это. Наберем команду Ctrl+a – A
В нижней строке появится приглашение изменить заголовок окна. Исправляем с bash на main и нажимаем Enter. Узнать имя текущего окна можно Ctrl+a – N мы увидим в левом верхнем углу окна его имя.
Информацию об окне:
Ctrl+a – i
Мы увидим в левом верхнем углу окнаинформацию и его имя, в нашем случае имя Main.
Как видно из предыдущих выводов, нумерация окон происходит последовательно, с возрастанием номера: 0 - 1 - 2. Если мы закроем одно из них, нумерация оставшихся окон не изменится.
Закрытие окна в Screen производится выполнением команды exit в окне. Предварительно, нужно остановить все запущенные процессы в нем. Закрытие окон можно произвести и комбинацией Ctrl+a – k. Однако, выполнять ее не рекомендуется, так как эта операция идентична команде kill – “убить” процесс.
Давайте закроем второе окно. Остановим процесс top и выполним exit. А затем посмотрим вывод команды.
Было:
Стало:
Видим, что нумерация теперь следующая: 0 — 2. Давайте поменяем нумерацию окон, в частности, окна под номером 2 и присвоим ему номер 1. Выполним команду:
Ctrl+a – :
Внизу окна появится приглашение в виде двоеточия для ввода команды.
Введем команду:
number 1
И нажимаем Enter.
Смотрим результат:
Ctrl+a – “
Cправка по клавиатурным комбинациям Screen:
Ctrl+a – ?
По умолчанию, Screen отображает только одно окно на экране эмулятора терминала. Однако, имеется возможность разбивать окно Screen в терминале на несколько. Для этого существует команда разбивки окна на горизонтальные части – регионы. Удобство в этом случае заключается в том, что нет надобности переключаться между окнами – все они находятся на виду и все процессы под контролем, достаточно лишь перевести взгляд на нужное окно.
Открываем эмулятор терминала и запускаем в нем Screen и выполняем команду разбивки экрана эмулятора на две горизонтальные части – регионы:
Ctrl+a – S
Как видно на скриншоте, окно эмулятора терминала putty было разбито на две одинаковые горизонтальные части. В Screen такие части, выполненные с помощью команды Ctrl+a – S, называются регионами. Таких регионов может быть не обязательно два, а много больше. Допустим, чтобы получить три окна Screen в нашем случае, нужно в текущем регионе (он у нас верхний) снова выполнить команду Ctrl+a – S. Так можно создать три, четыре, пять и т. д. окон Screen. Но мы остановимся на варианте из двух окон, для наглядности.
В верхнем регионе у нас запущен Screen и на этом регионе установлен фокус (зеленый курсор). Нижний регион у нас пуст – в нем не запущен Screen и пока там ничего нет. Нам необходимо перейти на нижний регион, создать там окно Screen и запустить в нем процесс.
Переведем фокус на нижний регион:
Ctrl+a – Tab
и создадим в нем окно Screen:
Ctrl+a – c
У нас появилась командная строка.
Запустим в здесь процесс – top
Теперь переместимся (переведем фокус) опять на верхний регион и запустим там ps -aux.
Снова вводим команду:
Ctrl+a – Tab
и выполняем:
ps -aux
Получаем:
Закрытие текущего региона в Screen производится командой Ctrl+a – X. Выполним ее в нашем текущем верхнем регионе:
Ctrl+a – X
Получим:
Если открыто несколько (больше двух) регионов, можно закрыть сразу все, кроме одного – текущего, выполнив команду:
Ctrl+a – Q
и вот еще:
Ctrl+a-| (вертикальное разбиение)
Ctrl+A - d - deattach - отключитсья от окна (но не закрыть)
Ctrl+A - H - записывать в журнал
Ctrl+A - C - (clear) очистить экран.
Ctrl+A - d - (detach) отключить screen от этого терминала.
Ctrl+A - D-D - (pow_detach) отключиться и разрегистрироваться.
Комментарии
Отправить комментарий