Работа с экранами linux

Содержание
  1. Как использовать screen в Linux
  2. Введение
  3. Установить Linux GNU Screen
  4. Установите Linux Screen в Ubuntu и Debian
  5. Установите Linux Screen на CentOS и Fedora
  6. Экран запуска Linux
  7. Начало именованного сеанса
  8. Работа с Linux Screen Windows
  9. Отключиться от сеанса экрана Linux
  10. Повторное подключение к экрану Linux
  11. Настроить экран Linux
  12. Базовое использование экрана Linux
  13. Выводы
  14. Screen — текстовый оконный менеджер
  15. Комнада Screen. Как использовать Screen в Linux
  16. How To Use Linux Screen
  17. Screen или GNU Screen — это терминальный мультиплексор. Другими словами, это означает, что вы можете начать сеанс экрана, а затем открыть любое количество окон (виртуальных терминалов) внутри этого сеанса. Процессы, запущенные в Screen, будут продолжать работать, когда их окно не видно, даже если вы отключены.
  18. Установить Linux GNU Screen
  19. Установите экран Linux на Ubuntu и Debian
  20. Установите экран Linux на CentOS и Fedora
  21. Запуск экрана Linux
  22. Начало именованного сеанса
  23. Работа с Linux Screen Windows
  24. Отсоединиться от экранной сессии Linux
  25. Подключите к экрану Linux
  26. Настроить экран Linux
  27. Основное использование экрана Linux
  28. Вывод

Как использовать screen в Linux

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

Введение

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

Установить Linux GNU Screen

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

Если в вашей системе не установлен screen, вы можете легко установить его с помощью диспетчера пакетов вашего дистрибутива.

Установите Linux Screen в Ubuntu и Debian

Установите Linux Screen на CentOS и Fedora

Экран запуска Linux

Чтобы начать сеанс экрана, просто введите screen в консоли:

Это откроет сеанс экрана, создаст новое окно и запустит оболочку в этом окне.

Теперь, когда вы открыли сеанс экрана, вы можете получить список команд, набрав:

Начало именованного сеанса

Именованные сеансы полезны, когда вы запускаете несколько сеансов экрана. Чтобы создать именованный сеанс, запустите экранную команду со следующими аргументами:

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

Работа с Linux Screen Windows

Когда вы запускаете новый сеанс экрана, он создает одно окно с оболочкой в нем.

У вас может быть несколько окон внутри сеанса Screen.

Чтобы создать новое окно с типом оболочки Ctrl+a c , ему будет присвоен первый доступный номер из диапазона 0. 9 .

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

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

Отключиться от сеанса экрана Linux

Вы можете отключиться от сеанса экрана в любое время, набрав:

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

Читайте также:  Сборник ключей активации windows

Повторное подключение к экрану Linux

Чтобы возобновить сеанс экрана, используйте следующую команду:

Если на вашем компьютере запущено несколько сеансов экрана, вам нужно будет добавить идентификатор сеанса экрана после переключателя r .

Чтобы найти идентификатор сеанса, укажите текущие сеансы запущенного экрана с помощью:

Если вы хотите восстановить экран 10835.pts-0, введите следующую команду:

Настроить экран Linux

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

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

Вот пример конфигурации

/.screenrc с настроенной строкой состояния и несколькими дополнительными параметрами:

Базовое использование экрана Linux

Ниже приведены основные шаги для начала работы с экраном:

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

Выводы

В этом руководстве вы узнали, как использовать Gnu Screen. Теперь вы можете начать использовать утилиту Screen и создавать несколько окон экрана из одного сеанса, перемещаться между окнами, отсоединять и возобновлять сеансы экрана и персонализировать свой экранный терминал с помощью файла .screenrc .

Больше информации о Gnu Screen можно найти на странице руководства пользователя Screen .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Screen — текстовый оконный менеджер

Людям, которые в Линуксе часто работают с консолью приходилось сталкиваться с проблемой необходимости нескольких терминалов, например в одном из них пользователь правит текстовый файл, а в другом идет компиляция программы. Существует много способов решения данной проблемы, например открыть несколько псевдо-терминалов или открыть несколько вкладок. В данной статье я хотел бы рассмотреть способ, не связанный с каким-то конкретным терминалом: использовать консольный оконный менеджер Screen.

Итак, что же представляет из себя Screen?

Screen — это оконный менеджер с эмуляцией терминала VT100/ANSI. Другими словами, это консоль в консоли, т.е. запуская одну терминальную сессию мы можем запустить параллельно несколько команд и наблюдать за их работой. Конечно многие могут сказать, мол зачем нужен какой-то там консольный оконный менеджер, когда уже есть gnome-terminal, konsole и прочие графические эмуляторы терминала, поддерживающие вкладки?

Рассмотрим ситуацию, когда Screen реально необходим. Предположим, что на Вас возложена обязанность удаленно управлять Linux сервером. Тогда, как и всякий другой админ, вы подключаетесь к серверу через SSH и выполняете различные команды. Если вам нужно еще одно окно, то вы создаете еще одно SSH подключение. И все идет хорошо до тех пор, пока сеть нормально функционирует, но однажды может случиться что-то непредвиденное и сеть упадет, причем и ваш локальный компьютер и удаленный сервер будут нормально функционировать, но все удаленные сессию будут потеряны, запущенный программы — убиты, несохраненные скрипты придется писать заново (особенно непрятно когда идет достаточно долгий процесс, который обваливается на самом последнем этапе и все приходится начинать сначала).

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

Еще одной интересной особенностью Screen-а о которой я недавно узнал, является запись всего вывода консоли в текстовый файл, обычно bash ведет запись списка команд (history), а screen может записывать и вывод который был получен в результате выполнения этих команд. Для того чтобы включить запись нужно нажать в запущенном screen-е Ctrl-a H, а для завершения записи достаточно повторно нажать данное сочетание клавиш. Screen запишет все в файл screenlog.n, где n — целое число соответствующее номеру окна Screen. Обычно я проигрываю полученную «демку» таким набором команд (предположим, что запись происходила с окна под номером 1):

Читайте также:  Ноутбук тормозит что можно сделать windows 10

time=0.1
rows=`wc -l screenlog.1 | awk ‘‘`
for i in `seq 1 $rows`; do head -$i screenlog.1 | tail -1; sleep $time; done;
reset

Здесь time — время задержки (чем больше это время, тем медленнее будет происходить вывод «демки»)

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

Ctrl-a c — создать новое окно Screen
Ctrl-a n — переместиться в следующее окно
Ctrl-a p — переместиться в предыдущее окно
Ctrl-a d — отключиться от текущей сессии screen, при этом все команды продолжат свое выполнение
Ctrl-a K — «убить» выбранное окно (нужно если программа в окне зависла и не хочет умирать самостоятельно)
Ctrl-a » — вывести список всех окон
Ctrl-a A — изменить название текущего окна (удобно, чтобы различать окна между собой, например поставить названия «localhost», «ssh 1.2.3.4» и т.п.

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

Рассмотрим еще одну интересную особенность Screen, а именно назначением «биндингов» на различные сочетания клавиш. Для начала, скажу, что мне казалась нудобной привязка клавиш Ctrl-a как некого префикса, намного лучше будет сделать этим префиксом сочетание клавиш Ctrl-\. Для этого в конфигурационном файле .screenrc необходимо добавить следующую строку:

escape \034\034

Еще мне казалось неудобным каждый раз набирать Ctrl-a n и Ctrl-a p для перемещения по окнам, лучше если это действие будет назначено на функциональные клавиши F1 и F2 соответственно. Для этого в конфиг файл добавляем:

bindkey -k k1 prev
bindkey -k k2 next

Еще было бы интересно назначить на определенные клавиши запуск определенной программы в новом окне. Рассмотрим, как пример запуск Vim-а в окне №5 по комбинации клавиш Ctrl-a e. Для этого нужно добавить в конфиг следующее:

bind e screen -t ‘Vim’ 5 vim

Еще одной особенностью Screen-а является возможность мониторинга отдельных окон на активность или неактивность. Такая функциональность удобна когда идет длительный процесс компиляции в одном окне а пользователь занимается чем-то в другом и хочет узнать когда компиляция закончится (мониторинг на неактивность) или же когда в одном окне идет наблюдение за выполнением программы (например find) и пользователь хочет узнать когда программа выдаст какие-нибудь строки на терминал (наблюдение за активностью). Для включения этого функционала необходимо нажать следующую комбинацию клавиш:

Ctrl-a M (для слежения за активность)
Ctrl-a _ (для сдежения за неактивность)

На этом я хочу закончить свою статью. Я описал далеко не все возможности программы Screen, но и описанный функционал достаточен для полноценной работы. И в заключении хочу сказать, что Screen — это очень функциональная находка для всех пользователей Linux, работающих с консолью.

Источник

Комнада Screen. Как использовать Screen в Linux

How To Use Linux Screen

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

Вы когда-нибудь сталкивались с ситуацией, когда вы выполняете долгосрочную задачу на удаленной машине, и внезапно ваше соединение разрывается, сеанс SSH прерывается, и ваша работа теряется. Ну, это случилось со всеми нами в какой-то момент, не так ли? К счастью, есть утилита, screen которая позволяет нам возобновить сессии.

Читайте также:  Форматирование флешек для mac os

Установить Linux GNU Screen

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

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

Установите экран Linux на Ubuntu и Debian

Установите экран Linux на CentOS и Fedora

Запуск экрана Linux

Чтобы начать сеанс экрана, просто введите screen в своей консоли:

Это откроет сеанс экрана, создаст новое окно и запустит оболочку в этом окне.

Теперь, когда вы открыли сеанс экрана, вы можете получить список команд, набрав:

Начало именованного сеанса

Именованные сеансы полезны при запуске нескольких сеансов экрана. Чтобы создать именованный сеанс, выполните команду экрана со следующими аргументами:

Это всегда хорошая идея, чтобы выбрать описательное имя сеанса.

Работа с Linux Screen Windows

Когда вы начинаете новый сеанс экрана, он создает одно окно с оболочкой в ​​нем.

Вы можете иметь несколько окон внутри сеанса экрана.

Чтобы создать новое окно с типом оболочки Ctrl+a c , ему будет присвоен первый доступный номер из диапазона 0. 9 .

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

  • 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 Закрыть текущий регион

Отсоединиться от экранной сессии Linux

Вы можете отсоединиться от сеанса экрана в любое время, набрав:

Программа, запущенная в сеансе экрана, продолжит работу после отсоединения от сеанса.

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

Чтобы возобновить сеанс экрана, используйте следующую команду:

Если на вашем компьютере запущено несколько сеансов экрана, вам необходимо добавить идентификатор сеанса экрана после r переключения.

Чтобы найти идентификатор сеанса, перечислите текущие сеансы рабочего экрана с:

Если вы хотите восстановить экран 10835.pts-0, введите следующую команду:

Настроить экран Linux

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

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

/.screenrc конфигурации с настроенной строкой состояния и несколькими дополнительными опциями:

Основное использование экрана Linux

Ниже приведены основные шаги для начала работы с экраном:

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

Вывод

В этом уроке вы узнали, как использовать Gnu Screen. Теперь вы можете начать использовать утилиту Screen и создавать несколько окон экрана из одного сеанса, перемещаться между окнами, отсоединять и возобновлять сеансы экрана и персонализировать свой экранный терминал, используя .screenrc файл.

На странице руководства пользователя Screen есть еще много информации о Gnu Screen .

Источник

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