Терминальный мультиплексор
Общие сведения
В электронике мультиплексор (или mux) — это устройство, которое позволяет подключать несколько входов к одному выходу. Таким образом, терминальный мультиплексор дает возможность переключаться между различными входами по мере необходимости. Хотя screen и tmux не являются полностью идентичными устройствами, у них есть ряд общих характеристик:
При любом успешном вызове будет создан как минимум сеанс, который, в свою очередь, будет включать в себя как минимум одно окно. В окнах находятся программы.
Окна можно разделить на области или панели, что повышает продуктивность при одновременной работе с несколькими программами.
Простота управления: для выполнения большинства команд используется комбинация клавиш — так называемый префикс команды или клавиша команды — за которой следует еще один символ.
Сеансы можно отсоединить от текущего терминала (то есть программы будут отправлены в фоновый режим и продолжат работать). Это гарантирует полное выполнение программ, даже если мы случайно закроем терминал, столкнемся с зависанием терминала или даже с потерей удаленного подключения.
Сокетное соединение.
Режим копирования.
Их можно легко настроить под себя.
Чтобы запустить GNU Screen, достаточно ввести screen в терминале
Может показаться, что ничего не произошло, но факт в том, что screen уже создал свой первый сеанс и окно и управляет ими. Префикс команды Screen - Ctrl+a. Чтобы просмотреть все окна в нижней части экрана терминала, введите Ctrl+a-w:
Чтобы создать еще одно окно, введите Ctrl+a-c.
Давайте переименуем его в то же имя. Для этого нужно ввести Ctrl+a-A и в появившемся окне указать новое имя окна
Теперь создадим еще одно окно, но с самого начала присвоим ему имя: yetanotherwindow. Это делается с помощью вызова screen с помощью оператора -t switch
Переключаться между окнами можно разными способами:
С помощью Ctrl+a-n (перейдите в следующее окно) и Ctrl+a-p (перейдите в предыдущее окно).
С помощью Ctrl+a-number (перейдите в окно под номером номер).
С помощью Ctrl+a-" можно просмотреть список всех окон. Вы можете перемещаться вверх и вниз с помощью клавиш со стрелками и выбрать нужное окно с помощью клавиши Enter:
Чтобы закрыть окно, просто завершите работу программы, запущенной в нем (после закрытия последнего окна screen сама завершит работу). Кроме того, можно использовать Ctrl+a-k в окне, которое вы хотите закрыть
screen Можно разделить экран терминала на несколько областей для размещения окон. Эти области могут быть горизонтальными (Ctrl+a-S) или вертикальными (Ctrl+a-|)
Чтобы перейти в новый регион, введите Ctrl+a-Tab. Теперь вы можете добавить окно любым из уже известных нам способов, например: Ctrl+a-2
При работе с регионами следует учитывать следующие важные аспекты:
Для переключения между регионами введите Ctrl+a-Tab.
Чтобы закрыть все регионы, кроме текущего, введите Ctrl+a-Q.
Чтобы закрыть текущий регион, введите Ctrl+a-X.
Закрытие региона не приводит к закрытию связанного с ним окна.
Чтобы увидеть список всех сессий, введите screen -list или screen -ls
Давайте создадим новую сессию и дадим ей более информативное название:
screen -S "второй сеанс"
Экран терминала очистится, и вы увидите новое приглашение. Вы можете еще раз проверить наличие сеансов.
Чтобы завершить сеанс, закройте все его окна или просто введите команду screen -S SESSION-PID -X quit (вместо этого можно указать название сеанса). Давайте избавимся от нашего первого сеанса:
screen -S 1037 -X quit
По ряду причин вам может понадобиться отсоединить сеанс работы с экраном от терминала:
Чтобы ваш компьютер на работе занимался своими делами, а вы могли удаленно подключиться к нему из дома.
Чтобы поделиться сессией с другими пользователями.
Чтобы выйти из сеанса, используйте комбинацию клавиш Ctrl+a-d. Вы вернетесь в свой терминал:
Чтобы снова подключиться к сеансу, используйте команду screen -r SESSION-PID. В качестве альтернативы можно использовать SESSION-NAME как мы делали выше. Если у вас только один отключенный сеанс, можно обойтись и без этого.
screen -r
Важные параметры для повторного подключения сеанса:
-d -r Сначала переподключите сеанс и, при необходимости, отключите его. -d -R То же, что и -d -r, но screen сначала создаст сеанс, если он еще не создан. -d -RR То же, что и -d -R. Однако используйте первый сеанс, если доступно несколько. -D -r Повторно подключитесь к сеансу. При необходимости сначала отключите сеанс и выйдите из системы удаленно. -D -R Если сеанс уже запущен, переподключитесь (при необходимости сначала завершите сеанс и выйдите из системы удаленно). Если сеанс не запущен, создайте его и уведомите об этом пользователя. -D -RR То же, что и -D -R — только мощнее. -d -m Запустите screen в автономном режиме. Это создаст новый сеанс, но не подключит к нему. Это полезно для сценариев запуска системы. -D -m То же, что и -d -m, но без создания нового процесса. Команда завершается при выходе из сеанса. Чтобы узнать о других возможностях, прочтите руководство по screen
В GNU Screen есть функция копирования или режим прокрутки назад. После входа в режим вы можете перемещать курсор в текущем окне и просматривать содержимое его истории с помощью клавиш со стрелками. Вы можете выделять текст и копировать его из одного окна в другое. Для этого выполните следующие действия: Войдите в режим копирования/прокрутки назад: Ctrl+a-[. С помощью клавиш со стрелками перейдите к началу фрагмента текста, который хотите скопировать. Отметьте начало фрагмента текста, который хотите скопировать: пробел. С помощью клавиш со стрелками перейдите к концу фрагмента текста, который хотите скопировать. Отметьте конец фрагмента текста, который хотите скопировать: пробел. . Перейдите в нужное окно и вставьте фрагмент текста: Ctrl+a-].
Файл конфигурации экрана для всей системы — /etc/screenrc. В качестве альтернативы можно использовать ~/.screenrc на уровне пользователя. Файл содержит четыре основных раздела конфигурации:
SCREEN SETTINGS
Вы можете задать общие настройки, указав директиву, пробел и значение, например: defscrollback 1024.
SCREEN KEYBINDINGS
Этот раздел довольно интересен, поскольку позволяет переназначить сочетания клавиш, которые могут мешать вам в повседневном использовании терминала. Используйте ключевое слово bind, за которым следует пробел, символ, который нужно использовать после префикса команды, еще один пробел и команда, например: bind l kill (этот параметр изменит способ закрытия окна по умолчанию на Ctrl+a-l).
Чтобы отобразить все сочетания клавиш, введите Ctrl+a-? или обратитесь к разделу «Руководство».
TERMINAL SETTINGS
В этом разделе, помимо прочего, представлены настройки, связанные с размерами окон терминала и буферами. Например, чтобы включить неблокирующий режим для работы с нестабильными ssh-соединениями, используется следующая конфигурация: defnonblock 5.
STARTUP SCREENS
Вы можете добавить команды для запуска различных программ при screen запуске; например: screen -t top top (screen откроет окно с именем top и top внутри).
tmux
Аналогично screen мы можем переключаться с одного окна на другое с помощью:
Ctrl+b-n
Перейдите в окно следующий.
Ctrl+b-p
Перейдите в окно предыдущее.
Ctrl+b-number
Чтобы закрыть окно, используйте Ctrl+b-&. Вам будет предложено подтвердить действие
Другие интересные команды для работы с окнами:
Ctrl+b-f
найдите окно по названию.
Ctrl+b-.
измените индексный номер окна.
Чтобы разделить окно по горизонтали, используем Ctrl+b-"
Чтобы разделить текст по вертикали, используйте Ctrl+b-%:
Важные команды панели:
Ctrl+b-↑,↓,←,→
перемещайтесь между панелями.
Ctrl+b-;
Перейдите на последнюю активную панель.
Ctrl+b-Ctrl+arrow key
Измените размер панели на одну строку.
Ctrl+b-Alt+arrow key
Измените размер панели на пять строк.
Ctrl+b-{
Поменяйте местами панели (текущую и предыдущую).
Ctrl+b-}
Поменяйте местами панели (текущую и следующую).
Ctrl+b-z
Панель увеличения/уменьшения масштаба.
Ctrl+b-t
tmux На панели отображаются необычные часы (чтобы убрать их, нажмите q).
Ctrl+b-!
превратите панель в окно.
Чтобы вывести список сеансов в tmux, можно использовать Ctrl+b-s:
Кроме того, вы можете использовать команду tmux ls
A нас есть только один сеанс (LPI), в котором открыты два окна. Давайте создадим новый сеанс в рамках текущего. Для этого нажмите Ctrl+b, введите :new в командной строке и нажмите Enter.
По умолчанию tmux сеанс называется 2. Чтобы переименовать его, используйте Ctrl+b-$
Вы можете переключаться между сеансами с помощью Ctrl+b-s
Чтобы завершить сеанс, можно использовать команду tmux kill-session -t SESSION-NAME. Если вы введете эту команду в текущем подключенном сеансе, то выйдете из tmux и вернетесь к исходному сеансу терминала
Убив Second Session, мы оказались за пределами tmux. Однако у нас все еще активна сессия
Однако этот сеанс не связан с терминалом. Мы можем подключить его с помощью tmux attach -t SESSION-NAME (attach можно заменить на at или просто на a). Если сеанс только один, указывать имя необязательно:
Теперь вы вернулись к сеансу. Чтобы выйти из него, нажмите Ctrl+b-d:
Важные команды для подключения и отключения сеанса:
Ctrl+b-D
Выберите, от какого клиента нужно отключиться.
Ctrl+b-r
Обновите терминал клиента.
tmux также поддерживает режим копирования практически таким же образом, как screen (не забудьте использовать командный префикс tmux, а не screen!).
Единственное отличие с точки зрения команд заключается в том, что вы используете Ctrl + пробел для обозначения начала выделенного текста и Alt+w для копирования выделенного текста.
Файлы конфигурации для tmux обычно находятся по адресам /etc/tmux.conf и ~/.tmux.conf. При запуске tmux использует эти файлы, если они существуют. Также можно запустить tmux с параметром -f, чтобы указать альтернативный файл конфигурации. Пример файла конфигурации tmux находится по адресу /usr/share/doc/tmux/example_tmux.conf.
#При вызове tmux можно указать имена сеанса и окна:
tmux new -s "LPI" -n "Окно ноль"
Источники
Здесь пока нет комментариев






