Linux выход из screen

How do I get out of ‘screen’ without typing ‘exit’?

I screen -r ‘d into a Django server that’s running and I can’t simply Ctrl + C and exit out of it. Are there any alternative ways to get out of screen ? Currently, I manually close the tab on my local PC and ssh back in, but that’s becoming tiresome.

6 Answers 6

Ctrl-a d or Ctrl-a Ctrl-d . See the screen manual # Detach.

yes, you generally do have a tl;dr moment with the man command. so when you have a tl;dr when doing man command_name , in this case man screen , you can generally access a shorter & pretty helpful version of the docs by —help option, command_name —help , this case screen —help .

@josch You should be able to use ctrl-a + k or ctrl-a + ctrl-k to kill the current screen window. Ashish — The —help output only talks about command line options, it does not talk about the key bindings

  • Ctrl + A , Ctrl + \ — Exit screen and terminate all programs in this screen. It is helpful, for example, if you need to close a tty connection.
  • Ctrl + D , D or — Ctrl + A , Ctrl + D — «minimize» screen and screen -r to restore it.

I’m just clarifying for future readers. That’s Ctrl-A followed by Ctrl-\, and Ctrl-A followed by Ctrl-D.

@Julian Detaching doesn’t need Ctrl on both, just on ctrl+a. Works for me and if you do «ctrl+a» and then write «:help» you can see that it says that both ctrl+d and d works.

Ctrl-A -> Ctrl-D just exits from the session for me, leaving it running in the background. Ctrl-A -> \ will exit the session completely (on Oracle Linux 6).

To quit, it’s Ctrl-a + \ , not Ctrl-a + Ctrl-\ ! The key bindings can be viewed by pressing: Ctrl-a + ?

  • Ctrl + A and then Ctrl + D . Doing this will detach you from the screen session which you can later resume by doing screen -r .
  • You can also do: Ctrl + A then type : . This will put you in screen command mode. Type the command detach to be detached from the running screen session.

@Kostyantyn It works (as the man pages says ‘For your convenience’) both with and without the Ctrl for the d — so «Ctrl-a» «Ctrl-d» works, and so does «Ctrl-a» «d». Take your pick.

Ctrl + a followed by k will «kill» the current screen session.

Читайте также:  Astralinux astra linux special edition

To terminate the screen session use

To detach session and restore later use

In addition to the previous answers, you can also do Ctrl + A , and then enter colon ( : ), and you will notice a little input box at the bottom left. Type ‘quit’ and Enter to leave the current screen session. Note that this will remove your screen session.

Ctrl + A and then K will only kill the current window in the current session, not the whole session. A screen session consists of windows, which can be created using subsequent Ctrl + A followed by C . These windows can be viewed in a list using Ctrl + A + » .

Источник

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

img

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

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

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

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

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

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

screen --version Screen version 4.00.03 (FAU) 23-Oct-06

screen --version

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

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

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

Запуск screen в Linux

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

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

screen список доступных вам команд

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

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

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

screen -S имя_сессия_скрин

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

screen -S pings_towards_1C

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

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

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

Читайте также:  Создание раздела на флешке linux

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

  • 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 — закрыть текущую область;

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

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

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

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

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

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

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

screen -ls There are screens on: 32328.pings_towards_1C (Detached) 32482.wiki.merionet.ru_is_one_love (Detached) 2 Sockets in /var/run/screen/S-root.

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

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

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

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

# Выключаем приветствие startup_message off # включаем визуальный звонок vbell off # буфер для сохраненных строк делаем 10000 defscrollback 10000 # кастомим строку состояния hardstatus alwayslastline hardstatus string '%[ %%H %][%= %%?%-Lw%?%(%%n*%f%t%?(%u)%?%)%%?%+Lw%?%?%= %][% %m-%d %%c %]'

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

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

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

Выводы

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

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

Источник

How Do I Close a Screen Session?

Sometimes we execute multiple screen sessions in GNU Screen which necessitates cleanup. In this short guide, we will walk you through the options of closing a screen session but firstly, let’s understand some essential information about the screen.

What is a Screen?

A terminal multiplexer is referred to as screen. Multiple interactive shells of the physical terminal are multiplexed by the screen. It permits the user to perform several tasks running in each terminal. All of these independent screen sessions execute their programs. If you accidentally closed or get disconnected from any screen session, that process will run within the screen session.

Читайте также:  Просмотр ком портов linux

For example, when upgrading an Ubuntu server via SSH, if your SSH session is terminated for any reason, the screen command will continue the upgrade process undoubtedly.

Here, we have provided you a list of important keyboard shortcuts for managing various nested sessions.

Function Keyboard Shortcut
Showing keybindings Ctrl+a ?
Ending session and terminating Screen Ctrl+a \
Closing the current session Ctrl+a X
Closing all sessions except the current one Ctrl+a Q
Splitting current region vertically into two regions Ctrl+a l
Splitting current region horizontally into two regions Ctrl+a S
Switching to session number 0 Ctrl+a ”
Switching to the previous session Ctrl+a p
Switching to the next session Ctrl+a n
Listing all sessions Ctrl+a 0

Now, we will demonstrate to you the complete procedure of closing an existing screen session. Before starting this, check out the below-given method for setting up some screen session.

Setting-up Screen Sessions

As a result of the command execution, two sessions will be initialized named “my_session_1”, and “my_session_2”.

Now, list out all screen sessions by writing out the following command:

Here, the output will also give you information about the existing screen session, other than the newly created one.

One method of ending a session is to attach it first and then end it. We will follow this method in the upcoming section. We took “my_session_1” as an example, you can choose the session which you want to end.

Utilize the following command for checking related information about the “my_session_1” screen session.

Closing a Screen Session

Note the complete id of the screen session. After that, attach this screen session using the “-r” option in the screen command.

In your terminal, type “exit” to exit this screen session.

As you can see, the output declares that the process is terminated successfully.

Another method of ending a screen session is to press “CTRL+a” combined with the “\” key while a session is attached.

Conclusion

The screen multiplexes numerous interactive shells of the physical terminal. It also allows its user to execute multiple tasks in each terminal simultaneously. There comes a case where cleanup is required and for that, you want to end a screen session. In this post, we have discussed two distinct methods for ending a screen session.

About the author

Talha Saif Malik

Talha is a contributor at Linux Hint with a vision to bring value and do useful things for the world. He loves to read, write and speak about Linux, Data, Computers and Technology.

Источник

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