Как удалить окно screen linux

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Как пользоваться утилитой screen в Linux?

Окно в «новую жизнь»

Сейчас вы точно прочувствуете важное команды screen . Бывало ли у вас такое, что вы выполняете (очень долго) команду в консоли — CLI на удаленной машине, будучи подключенным через SSH? Команда долго выполняется и близится к завершению как вдруг пропадает подключение, рвется SSH подключение и все, что вы делали — пропало?

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

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

Немножко теории

Так называемый screen это терминальный мультиплексор (нас тоже пугает это слово). Другими словами, оно дает нам возможность внутри действующей сессии открыть сколько угодно много виртуальных окон/терминалов. Что важно — процесс, запущенный внутри сессии через screen, будет продолжаться даже тогда, когда вы отключитесь от самой первой сессии.

Установка screen в Linux

Вообще, пакет screen предустановлен на большинстве современных Linux — дистров. Проверить можно командой:

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

Установка screen в Ubuntu и Debian

Установка screen в CentOS и Fedora

Запуск screen в Linux

Чтобы запустить screen в консоли, просто наберите screen . Что может быть проще, не правда ли?

У вас откроется новая сессия в новом окне. Уже здесь вы можете вводить все нужные shell команды. Находясь в режиме скрина (screen) вы можете посмотреть список доступных вам команд управления этим режимом. Вот так:

Если не получается нажать указанную выше комбинацию, можно поступить проще: нажмите отдельно Ctrl+a , отпустите, а затем в консоль наберите ? и нажмите Enter

Сессия screen с именем

Ну очень удобная фича. Если вы делаете несколько процессов параллельно, просто обзовите их так, чтобы потом понять, что и где выполняется. Синтаксис такой:

Например, вы можете запустить ping — замер хоста с 1С и назвать сессию так:

Всегда используйте скрин именно так. Будет значительно удобнее.

Как правильно работать с окнами в Windows

Как мы уже сказали, когда вы создаете новую screen — сессию, вы создадите новое окно с shell оболочкой внутри. И что интересно — внутри скрин сессии вы можете создать множество дополнительных окон. Чтобы это сделать, воспользуйтесь командой (внутри скрина) Ctrl+a и c . Новому окну будет назначен номер от 0 до 9 (первый свободный).

Ниже мы собрали все команды, которые понадобятся вам для управления скринами:

  • Ctrl+a и c — создать дополнительное окно ;
  • Ctrl+a и » — показать список всех имеющихся окон;
  • Ctrl+a и 0 — переключиться на окно с номером 0 (номер может быть иной);
  • Ctrl+a и A — переименовать текущее окно;
  • Ctrl+a и S — разделить окно по горизонтали на две области;
  • Ctrl+a и | — разделить окно по вертикали на две области;
  • Ctrl+a и tab — переключить рабочий фокус на следующую область разделенного окна;
  • Ctrl+a и Ctrl+a — переключить рабочий фокус на предыдущую область разделенного окна;
  • Ctrl+a и Q — закрыть все разделенные области кроме;
  • Ctrl+a и X — закрыть текущую область;
Читайте также:  Как скрыть меню mac os

Выход из screen сессии

Вы можете легко выйти из screen — сессии набрав:

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

Возврат к screen сессии

Чтобы вернуть к screen — сессии используйте команду:

Если у вас запущено больше чем одна screen — сессия, то после ключа r нужно указать ее ID. Узнать его просто с помощью команды:

Вывод этой команды будет выглядеть вот так:

В выводе выше мы выделили ID — сессий. Например, чтобы вернуться к сессии 32328 (pings_towards_1C), дайте команду:

Немножко кастомизации screen под вас

Когда screen запускается, он считывает свои конфигурационные параметры из /etc/screenrc и

/.screenrc , если файл присутствует. Так вот — мы можем легко перенастроить предпочтения использования screen и сделать это в файле .screenrc .

Посмотрите пример с комментариями, как мы закастомили screen для себя:

Типовой сценарий использования screen

Общий случай, так сказать. Обычно он состоит из следующих шагов:

  1. После SSH подключения к серверу, набираем screen ;
  2. Запускаем интересующую нас команду в режиме screen — сессии;
  3. Выполняем команду Ctrl + a и d , чтобы выйти из режима работы с экран-сессией
  4. Через какое-то время возвращаемся к запущенному ранее экрану командой screen -r

Выводы

Мы разобрались, как создавать screen сессии, управлять ими внутри, открывая новые окна, выходить из их режима управления (без прекращения выполнения команды), делить горизонтально и вертикально экраны.

Ах да, ещё мы научились кастомизировать screen под себя. Профит!

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

Как работать с Linux Screen

позволяет вам:

  • Создавать множественные окна в терминале SSH;
  • Сохранять сессию активной даже при сетевых отключениях;
  • Отключаться и переподключаться к сессии из разных мест;
  • Выполнять длительный процесс, не поддерживая активную сессию.

Установка Screen с Yum

Наверняка, у вас уже есть Linux Screen в вашей системе. В большинстве дистрибутивов Red Hat и CentOS вы можете найти Screen Linux в /usr/bin/ screen . Чтобы увидеть, находится ли там Screen , вы можете использовать следующую команду:

]# which screen
/usr/bin/screen

Если у вас нет Screen, то можете установить его из RPM или файла пакета для вашей системы. Например, на CentOS можно установить Screen с yum:

]# yum install screen
.
Complete!

Поскольку вы, скорее всего, уже имеете Screen или можете использовать RPM, я не буду описывать установку Screen из ресурса. А расскажу, как использовать screen.

Запуск Screen Linux

Screen запускается с командной строки точно так же, как любая другая команда :

Теперь вы в окне в Screen. Оно функционирует точно так же, как нормальная оболочка за исключением нескольких специальных символов.

Команда управления

Команда : «Ctrl-a»
Screen использует команду «Ctrl-a» , это — клавиша «CTRL» и нижний регистр «a» работает как сигнал отправить команды Screen’у вместо оболочки. Например, «Ctrl-a» потом «?». У Вас должна появится страница справки Screen.

Привязка клавиш — это команды , которые принимает Screen после того, как нажаты “Ctrl-a”. Вы можете переназначить эти ключи по своему усмотрению, используя .screenrc файл, но я использую значения по умолчанию.

Создание окон

Команда: «Ctrl-a» «c». Чтобы создать новое окно используйте «Ctrl-a» «c».

Такая комбинация, с настройками по умолчанию создаст новое окно. Ваше старое окно будет все еще активно.
Например, я могу выполнить top и затем открыть новое окно, чтобы заняться чем-то другим. Top остается рабочей! Чтобы попробовать, запустите screen, а затем выполните top. (Примечание: некоторые скрины у меня урезаны, чтобы оставить свободное место.)

top — 09:10:33 up 35 days, 17:26, 1 user, load averag
Tasks: 131 total, 1 running, 130 sleeping, 0 stoppe
Cpu(s): 0.4%us, 0.2%sy, 0.0%ni, 99.4%id, 0.0%wa, 0
Mem: 12302040k total, 6363652k used, 5938388k free,
Swap: 1052248k total, 12k used, 1052236k free,

Теперь откройте новое окно с: «Ctrl-a» «c»

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

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

Команда : «Ctrl-a» «n»

Screen позволяет перемещаться вперед и назад. Вы можете использовать «Ctrl-a» «n», чтобы вернуться обратно. Эта команда переключает на следующее окно.

Работает как карусель — циклично выполнится назад по кругу к Вашему первому окну. Вы можете создать несколько окон и переключателя по ним «Ctrl-a» «n» для следующего окна или «Ctrl-a» «p» для предыдущего окна. Каждый процесс продолжит работать, пока вы не закроете окно.

Читайте также:  Windows 10 2004 установить принудительно

Отсоединение от Screen

Команда: «Ctrl-a» «d»

Экран позволяет отсоединяться от окна и вернуться к нему позже. Если сетевая связь прервется, то Screen автоматически отсоединит сеанс!

Можете отсоединиться, используя «Ctrl-a» «d».

Все окна Screen все еще там, и вы можете повторно присоединиться к ним. Это удобно при использовании rsync для миграции сервера.

Повторное присоединение к Screen

Если Ваше соединение оборвалось или Вы отсоединились от Screen’а, Вы можете повторно подключиться, просто запуская:

Произойдёт повторное подключение к Вашему Screen. Однако, если у Вас есть несколько Screen’ов,то может получится это:

]$ screen -r
There are several suitable screens on:
31917.pts-5.office (Detached)
31844.pts-0.office (Detached)
Type «screen [-d] -r [pid.]tty.host» to resume one of them.

Если так, просто определите Screen, который хотите.

]$ screen -r 31844.pts-0.office

Регистрация действий Screen

Я считаю важным фиксировать то, что я делаю на чьем-либо сервере. К счастью, Screen это упрощает.
Используя «Ctrl-a» «H», запускается регистрация сеанса. Screen продолжит добавлять данные к файлу через многократные сеансы. Использовать функцию регистрации очень полезно для отслеживания того, что вы делали, особенно если требуется вносить много изменений. Если что-то пойдёт не так, всегда будет возможность найти ошибку.

Получение уведомлений

Screen может контролировать окно, его активность или бездействие. Данная функция необходима, если загружаете большие файлы, делаете компиляцию или ожидаете вывода.

Если Вы ожидаете ответа от «долгой» программы, можете использовать «Ctrl-a» «M», чтобы отследить активность. Screen высветит предупреждение внизу страницы, когда отклик будет зарегистрирован на том экране.
Я использую это при выполнении команды, которая занимает много времени. Могу просто запустить команду, переключиться на другое окно и не возвращаться обратно каждый раз, чтобы проверить состояние.

Если загружаете большой файл или компилируете программу, по завершению придёт уведомление. Это – будет сигналом того, что задание выполнено. Чтобы контролировать такие моменты без вывода экрана я используют «Ctrl-A» «_».

Блокировка сеанса Screen

Если Вам необходимо отойти от Вашего компьютера на несколько минут, Вы можете заблокировать свой сеанс, используя «Ctrl-a» «x». Для доступа к сеансу снова потребуется пароль.

Screen used by root .
Password:

Остановка Screen

Когда вы закончили работу, я бы порекомендовал закончить сеанс вместо того, чтобы оставить его на потом. Чтобы остановить Screen, можете, как обычно, просто ввести «Exit» из своей оболочки. Это закроет Screen. Чтобы завершить сеанс вы должны закрыть все окна.

Как только вы закрываете все окна выводится сообщение о том, что Screen начал завершение.

[screen is terminating]

Альтернативно, Вы можете использовать «Ctrl-a» «k».

Источник

IT заметки

Моя записная книжка

среда, 14 марта 2012 г.

Screen – управления окнами из консоли

Иногда приходится работать с *nix серверами удаленно по ssh, в моем случае через putty. Если дисканектит по причине херового интернета, ссесия рвется, то хана всем нашим не завершенным процессам, наработкам в не сохраненных конфигах и.т.д. Что бы предостереч себя от подобных казусов, а так же хранить сессии и в любое время из любого места к ним подключаться я открыл для себя оконный менеджер Screen. Теперь по делу.

#yum install -y screen

Для начала, освоим основные действия для манипуляции с окнами
Открываем любой эмулятор терминала (в моем случае — это putty) и запускаем в нем Screen:

Запустим в этом окне какой-либо процесс. Пусть это будет top и создаем еще одно окно
Ctrl+ac и запустим в нем какой-либо процесс. На этот раз путь это будет man screen

На данный момент мы имеем в одном окне терминала putty три запущенных окна screen.
Как глянуть сколько окон? как вариант Ctrl+aw

Мы видим в левом верхнем углу окна строку:
0$ bash 1*$ bash 2-$ bash

Это список активных, созданных нами окон screen. 0, 1, 2 — это номера окон, а bash — их имена (заголовки). Как видно, нумерация окон начинается с нуля. А вот имена у всех трех одинаковые — bash

Окна:
* 0$ bash — это то, которое Screen сам создал при своем запуске (забегая чуть вперед, можно сказать, что их колличество может быть не одно и выставляется оно в конфигурационном файле);
* 1-$ bash — в этом окне мы запутили top;
* 2*$ bash — в этом окне у нас запущен man screen.

Читайте также:  Как изменить имя пользователя windows 10 реестр

Переключение производится сочетанием:
Cntrl+ap — переключиться на предыдущую вирутальную консоль
Cntrl+an или пробел — переключиться на следующую вирутальную консоль
Ctrl+a“ — интерактивный (в отличие от Ctrl+a – w) список созданных нами окон. Можно перемещаться по нему стрелками вверх-вниз и входить Enter‘ом в нужное.

Можно перейти на нужное окно, зная его номер, по команде:
Ctrl+aномер_окна

Например, перейдем на второе окно:
Ctrl+a1

Или, чуть переиначив команду:
Ctrl+a

В нижней строке появится предложение ввести номер окна, в которое мы хотим перейти. Допустим, нам нужно перейти в первое окно — вводим номер 0 и нажимаем Enter:

Как мы видели из вывода команд Ctrl+a – w и Ctrl+a – “, имена (заголовки) окон одинаковые. Давайте исправим это. Наберем команду Ctrl+aA

В нижней строке появится приглашение изменить заголовок окна. Исправляем с bash на main и нажимаем Enter. Узнать имя текущего окна можно Ctrl+aN мы увидим в левом верхнем углу окна его имя.

Информацию об окне:
Ctrl+ai

Мы увидим в левом верхнем углу окнаинформацию и его имя, в нашем случае имя 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+aS

Как видно на скриншоте, окно эмулятора терминала putty было разбито на две одинаковые горизонтальные части. В Screen такие части, выполненные с помощью команды Ctrl+a – S, называются регионами. Таких регионов может быть не обязательно два, а много больше. Допустим, чтобы получить три окна Screen в нашем случае, нужно в текущем регионе (он у нас верхний) снова выполнить команду Ctrl+a – S. Так можно создать три, четыре, пять и т. д. окон Screen. Но мы остановимся на варианте из двух окон, для наглядности.

В верхнем регионе у нас запущен Screen и на этом регионе установлен фокус (зеленый курсор). Нижний регион у нас пуст – в нем не запущен Screen и пока там ничего нет. Нам необходимо перейти на нижний регион, создать там окно Screen и запустить в нем процесс.
Переведем фокус на нижний регион:
Ctrl+aTab
и создадим в нем окно Screen:
Ctrl+ac

У нас появилась командная строка.
Запустим в здесь процесс – top


Теперь переместимся (переведем фокус) опять на верхний регион и запустим там ps -aux.
Снова вводим команду:

Ctrl+aTab
и выполняем:
ps -aux

Закрытие текущего региона в Screen производится командой Ctrl+a – X. Выполним ее в нашем текущем верхнем регионе:
Ctrl+aX

Если открыто несколько (больше двух) регионов, можно закрыть сразу все, кроме одного – текущего, выполнив команду:
Ctrl+aQ

и вот еще:
Ctrl+a| (вертикальное разбиение)

Ctrl+Ad — deattach — отключитсья от окна (но не закрыть)
Ctrl+AH — записывать в журнал
Ctrl+AC — (clear) очистить экран.

Источник

Оцените статью