Screen - полноэкранный консольный менеджер окон, делящий физический терминал на виртуальные. Имеется буфер истории для каждого виртуального терминала и механизм копирования-вставки текста между окнами. При вызове screen создается единственное окно с Вашим шеллом в нем. Теперь Вы можете создавать новые окна (включая и шеллы), убивать их, перемещаться между ними, копировать и вставлять текст из одного окна в другое и тд. И самое главное - в любое время Вы можете отсоединиться от своего screen, а потом возобновить работу из другого места.
Запускаем любую команду, которую вы хотите, например так: screen ping 192.168.54.248 -s 1500
Это заставит запустить команду ping в окне менеджера screen. Далее с этим окном можно делать всё, что угодно: "свернуть", "развернуть", "закрыть" ит.д. Все это в консоли.
Все эти и другие манипуляции осуществляются с помощью горячих клавиш, вот основные:
Ctrl+a -> c (нажать одновременно Control и лат. "a", потом нажать просто лат. "c") - создает новое окно шелла и перемещается в него.
Ctrl+a -> A (латинское А должно быть большим, т.е. Shift+a) - дать название активному окну.
Ctrl+a -> С - очистить экран активного окна
Ctrl+a -> k - уничтожить активное окно
Ctrl+a -> n - переключение на следующее окно
Ctrl+a -> p - переключение на предыдущее окно
Ctrl+a -> " - выводит список окон, очень удобно если у вас их много
Ctrl+a -> ' - переключение на окно по номеру (нумерация начинается с 0)
Ctrl+a ->- тоже самое что и выше (только он вам скажет его название, если вы его обозвали конечно)
Базовые навыки по работе со screen получены, продолжаем:
Ctrl+a -> H - начать.закончить протоколирование активного окна в логфайлhardcopy.
Ctrl+a -> M - режим наблюдения за ктивным окном, если вы находитесь в другом окне, то вылезет подсказка о активности в том который вы мониторите
Ctrl+a -> F - подгоняет размер окна под размер терминала
Ctrl+a -> N - показывает номер и заголовок текущего окна
Ctrl+a -> S - разделяет текущее окно на два региона (очень удобно, советую), которые, в свою очередь, тоже можно разделить. Для перехода между регионами - Ctrl+a -> Tab. В новом регионе создаем новое окно Ctrl+a -> c и работаем. Чтобы отменить разделение - Ctrl+a -> Q (удаляет все регионы, кроме текущего). Ctrl+a -> X - убивает только текущий регион.
Ctrl+a -> Esc - режим скролинга и копирования. Для выделения участка текста - подвести курсор к началу нужного элемента и нажать пробел, а после выделения - опять пробел. Текст будет скопирован в буфер. Для выхода из режима - Esc.
Далее, то что делает screen, таким интересным:
Ctrl+a -> d - свернуть screen, о чем вас оповестит надпись [detached]
Далее можно отключаться от сесси, а потом снова подключиться и продолжить работу с процессами запущеными в screen.
screen -ls - выводит список отсоедененных screen-ов. Например у меня это There are screens on: 29377.pts-1.laptop (Detached) 25379.pts-1.laptop (Detached) 2 Sockets in /var/run/screen/S-xlor.
screen -r - возобновляет screen если он у вас один, ну а если несколько (как у меня) необходимо уточнить какую, например: screen -r 29377.pts-1.laptop
screen -d -m - запускает screen, однако не присоединяетего к текущему терминалу. Тоесть, к не му в последствии подключиться можно. Полезно для загрузочных скриптов.
screen -x - присоединиться к неотсоединенному screen - позволяет одновременно работать с разных мест разным людям. Удобно.
screen -wipe - тоже самое, что и -ls. однако мертвые сесси не указывает, как "destroyed", а уничтожает.
screen -U - запускает screen в режиме кодировки UTF-8.
screen -R - пытается присоединиться к первому найденному отсоединенному screen. Если не находит - создает новый Screen.