как разделить терминал в linux

Как использовать экран GNU для управления терминальными сессиями в Linux

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Как использовать экран GNU для управления терминальными сессиями в Linux

GNU Screen — это терминальный мультиплексор, который позволяет иметь несколько терминальных сессий внутри основного терминала.

Так зачем нам GNU Screen? — Иногда мы можем столкнуться с некоторыми проблемами, такими как автоматическое завершение удаленных ssh-соединений из-за проблем с сетью. Это может быть болезненно, если задача выполняется в производственной среде. Таким образом, для решения таких проблем рекомендуется отдельный сеанс экрана, который не завершается с окончанием сеансов терминала.

В системах Linux и Unix у нас есть инструмент мультиплексора терминала под названием screen, который используется для управления сессиями терминала. В этой статье мы расскажем, как использовать экран GNU в Linux для управления сеансами терминала при работе над важной задачей в производственных системах.

Установка экранных команд GNU

Установка пакета screen в системе Linux проста и легка. Некоторые современные операционные системы поставляются с предустановленными экранными приложениями. Выполните следующую команду, чтобы проверить доступность экрана.

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

Стартовый экран в Linux

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

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Создать сеанс экрана с именем

Листинг параметров экрана

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Список сеансов экрана

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

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

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

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

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

Сеансы экрана можно повторно подключить, используя только идентификатор экрана или имя экрана. В приведенном выше примере 25148 — это идентификатор, а pts-0.infoit — это имя экрана 25148.pts-0.infoit.

Разделение экрана Linux Windows

Иногда вам может потребоваться разделить окна экрана на несколько экранов для выполнения нескольких задач. Разделение можно производить как по горизонтали, так и по вертикали.

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Горизонтальное разделение окон экрана можно выполнить, нажав ctrl-a, а затем S (верхний регистр). Повторите тот же процесс, чтобы создать n вертикальных окон.

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Создать новый терминал в разделенном сеансе

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Неразбитые окна экрана

Чтобы разделить окна с разделенным экраном, вы можете просто применить ctrl-a с помощью клавиши Q

Сеансы блокировки экрана

Для защиты от несанкционированного доступа сеансы экрана могут быть заблокированы без блокировки обычных пользователей сеанса. Чтобы заблокировать экранный терминал, используйте команду ctrl-a, а затем клавишу x (нижний регистр). Вам будет предложено установить пароль, применить пароль защиты и все.

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Найдите владельцев сеансов экрана

Screen хранит информацию об открытых сеансах экрана в каталоге /var/run/screen. Перечислите содержимое, хранящееся в каталоге, чтобы найти владельца экрана.

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Завершить сеансы экрана

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Доступ к экранной странице справки

Выполните следующую команду для доступа к странице справки экрана

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

Некоторые полезные параметры экранных команд

Заключение

В этой статье мы узнали о различных командах gnu screen для управления сеансами терминала Linux. Если у вас есть предложения и отзывы, оставьте комментарий ниже.

Источник

Как пользоваться screen для управления терминалами Linux и отсоединения процессов от терминала

Что такое screen

Screen — это программа для «уплотнения» (мультиплекса) физических консолей. Суть в том, что несколько процессов (как правило интерактивных шеллов) могут работать в одном окне консоли. То есть эта программа позволяет пользователю иметь несколько экземпляров терминалов внутри одного терминала этого менеджера окон. Речь идёт не о вкладках, а о перемещении терминалов в фон. Одним из эффектов работы screen является то, что при закрытии окна терминала, процесс продолжает работу.

Приложение screen очень полезно если вы имеете дело с несколькими программами из интерфейса командной строки, а также для отделения программ от оболочки терминала. Она также позволяет вам делиться вашими сессиями с другими пользователями и отсоединять/подсоединять сессии терминала.

Как установить screen

На некоторых системах пакет screen может быть уже установлен. Если у вас его нет, то установите его.

На Debian, Linux Mint, Ubuntu, Kali Linux и их производных:

На RedHat и производных:

На Arch Linux, BlackArch и их производных:

Чтобы установить screen на Solaris:

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

Запуск screen в первый раз

Просто наберите screen в приглашении командной строки:

Будет выведена информация о программе — нажмите ENTER, чтобы её скрыть. Затем приглашение командной строки вернётся в точно такое же, как было и ранее.

Справка по параметрам screen

Когда вы вошли в screen, вы можете делать вашу обычную работу как будто бы вы в обычном окружении командной строки. Программа screen расширяет функциольность за счёт своих команд (параметров).

Нажмите Ctrl-A, а затем ? (то есть Shift+/). Затем вы увидите все команды (параметры) screen.

Чтобы выйти из экрана справки, нажмите Пробел или Enter.

Отсоединение процесса от консоли в screen

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

Пример сценария: вы работаете по SSH на вашем сервере. Вам нужно запустить программу, выполнение которой требует много времени. Это может быть скачивание большого патча для системы с помощью wget или любая длительная команда. В качестве примера я возьму обычный ping. Предположим мне нужно проверить качество связи с помощью ping на протяжении двух часов. Если я отключусь от SSH или связь будет потеряна случайно, то тогда процесс выполнения команды в консоли будет остановлен и нужно будет вновь начинать сначала. Чтобы этого избежать, мы можем использовать screen для отсоединения процесса от консоли.

Рассмотрим на примере конкретных команд.

Вначале входим в screen:

Затем я запускаю пинг:

В процессе работы программы, мы можем нажать Ctrl-a и d. Вывод от программы прекратиться, мы увидим примерно следующую информацию:

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Повторное подсоединение консоли с запущенным процессом к screen

После отсоединения процесса и закрытия screens, вы можете отключиться от сервера, то есть закрыть SSH сессию и заняться другими делами. Затем вы можете подключиться к SSH снова — причём, возможно даже с другого компьютера. После этого вы можете увидеть прогресс выполнения вашего процесса (пинг, загрузка, что угодно). Чтобы это сделать, нужно восстановить screen. Для этого запустите следующую команду:

И вы увидите, что процесс, который вы здесь оставили, всё ещё запущен.

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Если вы хотите восстановить сессию screen 13786.pts-2.HackWare, тогда наберите следующую команду:

Использование нескольких screen

Когда нужен больше чем один screen для выполнения работы, это возможно? Да, можно одновременно работать с несколькими screen. Вы можете запустить несколько окон screen одновременно — есть два способа сделать это.

Во-первых, вы можете отсоединить первый экран screen для запуска другого screen в реальном терминале.

Во-вторых, вы можете делать вложенные экраны screen.

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

Когда вы делаете вложенные screen, вы можете переключаться между ними используя команду Ctrl-a и n. В этом случае вы перейдёте к следующему окну screen. Когда вам нужно перейти к предыдущем screen, то просто нажмите Ctrl-a и p.

Для создания нового окна screen нажмите Ctrl-a и c.

Как записать все действий в терминале

Иногда важно сохранить все действия в терминале, которые вы выполнили находясь в консоли, то есть вести журнал (логи) активности в консоли.

Допустим вы администратор Linux, который управляет множеством серверов Linux. С ведением журнала в screen, вам не нужно выписывать каждую команду, которую вы ввели. Для активации функции ведения журнала screen просто нажмите Ctrl-a и H. Пожалуйста, будьте осторожны — используется заглавная H (то есть Shift+h). Использование прописной ‘h’ только создаст скриншот экрана screen в файле с именем hardcopy.

В нижней левой части экрана будет уведомление, которое говорит что-то вроде Creating logfile «screenlog.0» (производится ведение журнала экрана). В своей домашней директории вы найдёте файл screenlog.0.

Эта функция будет добавлять в файл всё, что вы делаете в окне screen. Для закрытия активности по ведению журнала screen, вновь нажмите Ctrl-a и H.

Другой способ активировать функцию ведения журнала: вы можете добавить параметр -L во время запуска screen. Команда будет выглядеть примерно так:

Блокировка screen

Screen также имеет комбинацию клавиш для блокировки окна screen. Вы можете нажать Ctrl-a и x для блокировки screen. Это полезно, если вы хотите быстро заблокировать ваш screen. Пример вывода после блокировки:

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Вы можете использовать ваш пароль в Linux чтобы разблокировать его.

Добавление пароля на заблокированный screen

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

Чтобы защитить паролем screen, вы можете отредактировать файл «$HOME/.screenrc». Если файл не существует, создайте его. Синтаксис будет примерно таким:

ВАШ_ПАРОЛЬ нужно указать в виде хеша, а не в виде обычного текста. Если там указано none, то пароль не будет спрашиваться. Если не указать пароль, то screen покажет приглашение для ввода пароля и его подтверждения и поместит хеш в буфер обмена.

Чтобы сгенерировать хеш, нужно выполнить следующую последовательность действий:

Как выйти из Screen

Есть два способа покинуть screen. Первый это использовать Ctrl-a и d для отсоединения экрана. Второй — мы можем использовать команду exit для закрытия сессии screen. Вы также можете использовать Ctrl-a и K для остановки screen.

Как запустить скрипт, процесс которого отделён от терминала

С помощью screen также возможно запуск файла скрипта, который изначально будет отделён от терминала, например:

Это запустит отделённый (независящий) от терминала процесс. Можно отделить любую команду или процесс с помощью программы screen.

Как просмотреть предыдущие результаты (вывод)

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

Вы можете нажать Ctrl-a и Esc для входа в Copy mode (режим копирования). Когда вы окажитесь в режиме копирвоания, вы можете использовать для пролистывания экранов кнопки PageUp и PageDown.

Для выхода из Copy Mode, нажмите ещё раз Esc.

Как разделить экран на несколько вкладок в screen

В screen вы можете разделить окно на несколько виртуальных терминалов, которые будут одновременно присутствовать на экране. Для этого нажмите Ctrl-a и S.

Именные окна screen

Вы можете использовать несколько именных окон screen. Для этого запустите сессию screen с опцией -S, после которой укажите желаемое имя, например:

эта команда создаст screen с именем testing.

покажет текущие сессии screen с их именами:

Чтобы подключиться к именной сессии screen используйте опцию -x с именем сессии:

в результате предыдущей команды, вы подключитесь к testing screen.

Альтернатива для screen

Если вы ищите альтернативу для screen, то присмотритесь к tmux.

Это азы использования screen которые вам пригодятся практически при каждом её использовании. У программы ещё множество функций, с которыми вы можете ознакомится в её справке или на странице man.

Источник

Terminator: эмулятор терминала для управления несколькими окнами терминала на Linux

Программа Terminator позволяет иметь множество терминалов в одном окне. С помощью этой программы в одной консоли вы можете использовать множество терминалов, которые можете разделять и изменять их размер, всё в одном окне — примерно так же, как работает мультиплексор терминалов tmux.

В чём отличие Terminator

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

Функции Terminator

Установка эмулятора Terminator на Linux

На большинстве стандартных дистрибутивах Linux пакет terminator доступен в репозитории и может быть установлен с помощью менеджера управления пакетами.

На Debian/Ubuntu/Linux Mint/Kali Linux

В Debian и основанных на ней дистрибутивах вы можете с лёгкостью установить Terminator с помощью следующей команды apt:

На Arch Linux и производных

Вначале вам нужно включить репозиторий RPMForge в вашей системе и затем установить эмулятор Terminator используя команду yum как следующим образом:

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

Запускается программа так:

Откроется примерно такое окно:

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Комбинации клавиш для управления Terminator

Чтобы раскрыть потенциал Terminator ключевым является знание кнопок для управления Terminator. Следующие сочетания установлены по умолчанию и являются самыми часто используемыми в Terminator:

Для разделения терминала по горизонтали – Ctrl+Shift+0

Для разделения терминала по горизонтали – Ctrl+Shift+E

У меня эти сочетания клавиш не работают, возможно по той причине, что на Ctrl+Shift назначена смена языка раскладки клавиатуры. Поэтому я использую контекстное меню:

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

У программы много привязанных сочетаний клавиш, которые быстро выполняют распространённые действия, но проблема в том, что у меня они не работают. Поскольку Ctrl+Shift является распространённым сочетанием для смены языка раскладки клавиатуры, то я не считаю это своей проблемой — это вопрос к создателям программы.

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

Для изменения фокуса терминала, нажмите Alt+ стрелку ←↑→↓

Для перехода по кругу между терминалами: Ctrl+Tab

Вы можете перетаскивать терминалы для изменения их расположения.

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Имеется полноэкранные режим, который включается и отключается кнопкой F11.

Вы можете увеличивать размер шрифта (зумировать) и уменьшать содержимое в терминале. Для этого зажмите Ctrl и прокручивайте колёсико мыши.

Для сброса до исходного состояния нажмите Ctrl+0.

Вы можете установить имя для окон — для этого дважды кликните на строку красного цвета.

У программы есть конфигурационный файл, подробности о котором вы узнаете в:

Заключение

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

Документация довольно неполная, например, из всего прочитанного (на сайте и в man), я так и не смог понять, что это за клавиша Super и как вообще менять настройки сочетаний клавиш. Если вы поклонник этой программы, пожалуйста, дополните статью вашими знаниями в комментариях.

Если у вас похожие проблемы с Terminator, то обратите внимание на tmux.

Источник

Покоряй и Властвуй: Советы по работе в терминале. Часть 9

Если вы просматривали мой конфигурационный файл из прошлого номера, вы наверняка обратили внимание на следую-щие две строки в конце файла:

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

Ctrl+a —это комбинация клавиш, после нажатия которой нужно написать «:multiuser on». Также вам понадобится разрешить удалённому пользователю присоединиться к Screen-сессии:

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

Последняя возможность программы, о которой я собирался рассказать, это способность разделять окно Screen надвое. Это значит, что вы можете запустить две командные оболочки парал-лельно, каждая на своей половине экрана, одна над другой. Без дополнительного вмешательства Screen может разделять окна только по горизонтали; есть патч, который позволяет включить вертикальное разделение, но в этом случае придётся самостоя-тельно собирать Screen из исходных кодов. Чтобы задей-ствовать горизонтальное разделение окна, нажмите следующую комбинацию клавиш:

C-a S

Для тех, кто не читал предыдущей статьи, поясню, что в данном случае сначала надо нажать Ctrl+a, а затем S (Shift+s). Это приведёт к разделению окна пополам, и активное окно займёт нижнюю половину. Между получив-шимися половинами можно переключаться с помощью следующей комбинации:

Здесь обозначает клавишу табуляции. Для тех, кто хочет задействовать верти-кальное разделение окна, я приведу ссылку на инструкцию в разделе «Читайте также».

Заключительная команда для Screen:

Источник

Краткая шпаргалка по tmux (менеджеру терминалов)

как разделить терминал в linux. Смотреть фото как разделить терминал в linux. Смотреть картинку как разделить терминал в linux. Картинка про как разделить терминал в linux. Фото как разделить терминал в linux

Очень хороший способ запустить tmux:
tmux attach || tmux new — делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.

После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)

В одной сессии может быть сколько угодно окошек:
Ctrl+b c — создать окошко;
Ctrl+b 0. 9 — перейти в такое-то окошко;
Ctrl+b p — перейти в предыдущее окошко;
Ctrl+b n — перейти в следующее окошко;
Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее);
Ctrl+b & — закрыть окошко (а можно просто набрать exit в терминале).

В одном окошке может быть много панелей:
Ctrl+b % — разделить текущую панель на две, по вертикали;
Ctrl+b « — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);
Ctrl+b →←↑↓ — переходить между панелями;
Ctrl+b x — закрыть панель (а можно просто набрать exit в терминале).

Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp — вход в «режим копирования», после чего:
PgUp, PgDown — скроллинг;
q — выход из «режима копирования».

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *