7.21 Терминальные мультиплексоры

Tmux
Screen
Byobu

 

Tmux

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

Устанавливается командой:
— для РЕД ОС версии 7.1 или 7.2:

yum install tmux

— для РЕД ОС версии 7.3 и старше:

dnf install tmux

Для запуска выполните команду:

tmux

В нижней части экрана появится строка состояния.

Управление tmux

Управление всеми терминальными мультиплексорами осуществляется следующим образом: сначала нажимается, так называемая, префиксная комбинация клавиш, а после нее — клавиша, управляющая той или иной функцией. В tmux по умолчанию в качестве префиксной установлена комбинация «Ctrl+B». Чтобы разделить экран терминала на две половины вертикальной чертой, нужно сначала нажать «Ctrl+B», а затем — «%» (т.е. «Shift+5»).

Каждую из получившихся вкладок можно также разделить на две части горизонтальной чертой при помощи комбинации клавиш «Ctrl+B+”» (т.е. «Shift+Э»).

Разделить окно на две части можно также при помощи команд.

Разделить на две части горизонтально:

tmux split-window -h

Разделить на две части вертикально:

tmux split-window -v

Перемещение по tmux

Чтобы перейти из одной части окна в другую, нажимаем сначала «Ctrl+B», а затем — клавиши ←, ↑, → и ↓.

Чтобы создать новое окно, нажмем комбинацию клавиш «Ctrl+B+C». В рамках одной сессии может быть задействовано неограниченное количество окон; каждое из них может быть, в свою очередь, разделено на части.

Переключение между окнами осуществляется при помощи следующих комбинаций:

  • «Ctrl+B + [0…9]» — перейти в указанное окно;
  • «Ctrl+B + P» — перейти в предыдущее окно;
  • «Ctrl+B + N» — перейти в следующее окно;
  • «Ctrl+B + O» — активация другой оболочки;
  • «Ctrl+B + L» — перейти в предыдущее активное окно (т.е. в то, из которого ранее был осуществлен переход в текущее окно);
  • «Ctrl+B + X» — закрыть окно (это можно также сделать при помощи команды exit).

Текущую сессию tmux можно прервать, нажав комбинацию клавиш «Ctrl+B+D». Чтобы возобновить прерванную сессию, нужно ввести команду:

tmux attach

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

tmux ls

Чтобы завершить все открытые сессии одновременно, нужно ввести команду:

tmux kill-server

Screen

Screen — это консольный мультиплексор для работы с одним соединением или одним окном терминала. Имеет возможность прервать работу (перезагрузка оболочки) и с такой же легкостью восстановить ее с того места, где она была остановлена со всеми открытыми окнами. Ко всему прочему у screen есть возможность поиска в текущем окне, а также поддержка скроллинга по окну.

Устанавливается командой:
— для РЕД ОС версии 7.1 или 7.2:

yum install screen

— для РЕД ОС версии 7.3 и старше:

dnf install screen

Для запуска выполните команду:

screen

В screen префиксной комбинацией клавиш является «Ctrl + A». Чтобы разделить экран терминала пополам, нужно сначала нажать комбинацию «Ctrl+A», а затем «S» или «|» (т.е. «Shift + \»). При разделении окон новая оболочка не запускается на вновь созданной панели, необходимо перейти в новое пространство с помощью «Ctrl+A+Tab» и вызвать новый экземпляр оболочки вручную с помощью «Ctrl+A+C».

Основные параметры screen:

  • «C + A + F» — подогнать размер всех окон под размер терминала;
  • «C + A + C» — создать новое окно;
  • «C + A + ‘ »- перейти на n-ое окно;
  • «C + A + «» — вывести список окон;
  • «C + A + N» — перейти на следующее окно;
  • «C + A + P» — перейти на предыдущее окно;
  • «C + A + [0..9] или |» — перейти на n-ое окно;
  • «C + A + A» — сменить название окна;
  • «C + A +[» — режим копирования (выделение идет по нажатию пробела);
  • «C + A+ ]» — вставить скопированное в буфер;
  • «C + A + X» — заблокировать screen;
  • «C + A + D» — отключится от screen;
  • «C + A + K» — закрыть текущее окно;
  • «C + A + \» — выход из screen.

Byobu

Byobu – это удобная оболочка для GNU Screen и Tmux, позволяющая запускать несколько программ в фоне в рамках одной консольной сессии и восстанавливать подключение к этой же сессии при переподключении. То есть с помощью Byobu вы сможете запустить какой-нибудь долгий процесс (например, компиляцию) на сервере в фоне, выйти из консольной сессии (закрыть SSH-подключение), а затем, подключившись к серверу в следующий раз, оказаться в той же сессии и продолжить наблюдать за процессом компиляции (или увидеть её результат).

Запуск Byobu

По умолчанию оболочка Byobu отключена после установки.

Существует два способа включить Byobu: запускать вручную с помощью команды byobu всякий раз, когда вам нужна эта оболочка, или же настроить автоматический запуск (оболочка будет запущена автоматически при входе в аккаунт).

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

byobu-enable

Чтобы удалить Byobu из профиля, запустите:

byobu-disable

Настройка мультиплексора

По умолчанию Byobu работает с мультиплексором tmux, однако при необходимости вы можете изменить мультиплексор (например, выбрать screen). Для этого запустите команду:

byobu-select-backend

На экране появится список доступных мультиплексоров. Выберите один из них, введите его порядковый номер и нажмите «Enter»:

Select the byobu backend:
1. tmux
2. screen
Choose 1-2 [1]:

Сессии Byobu

По умолчанию Byobu использует функциональные клавиши (от F1 до F12).

Под сессией следует понимать запущенный экземпляр Byobu. Сессия состоит из набора окон (которые, по сути, являются сессиями оболочки) и панелей (это окна, разделённые на несколько разделов).

При первом запуске Byobu открывает новую сессию, в которой можно создать окна и панели. В дальнейшем Byobu может автоматически запускать предыдущую сессию. Если открыто несколько сессий, Byobu спросит, какую из них нужно восстановить.

Чтобы закрыть Byobu и завершить все сессии, нажмите «Ctrl+D».

Byobu предлагает несколько способов отсоединения сессии:

  • «F6»: Отсоединяет вас от текущей сессии и закрывает соединение SSH, но не закрывает оболочку Byobu. Таким образом, во время следующего подключения к серверу текущая сессия будет восстановлена. Это одна из самых полезных функций Byobu, которая позволяет оставить запущенные сценарии и открытые документы и выполнить безопасное отключение.
  • «Shift + F6»: Отсоединяет вас от текущей сессии и оболочки Byobu, но не закрывает соединение SSH. Вы можете в любой момент восстановить оболочку с помощью команды byobu.
  • «Alt + F6»: Если Byobu поддерживает несколько одновременных подключений, эта комбинация отключает все соединения, кроме текущего.

Окна Byobu

Byobu позволяет переключаться между окнами внутри одной сессии. Это обеспечивает мультизадачность каждого соединения. Для примера представьте сценарий, в котором нужно создать SSH-подключение к серверу, просмотреть лог-файл системы и одновременно редактировать файл в другом окне. В Byobu для просмотра лога используется команда tail.

tail -n100 -f /var/log/messages

Запустив эту команду, откройте новое окно (F2), в котором у вас будет доступ к новой командной строке. В этом окне отредактируйте файл из домашнего каталога.

nano /etc/hosts

Теперь у вас есть два окна: в одном открыт лог /var/log/messages, а в другом – редактор. Переключаться между окнами можно с помощью кнопок «F3» и «F4». Окнам можно давать названия – так гораздо проще понять, что именно запущено в том или ином окне. Чтобы выбрать имя окна, нажмите «F8», введите имя и нажмите «Enter». Попробуйте перейти в другое окно и выберите для них названия. Чтобы поменять окна местами, используйте комбинации «Ctrl + Shift + F3/F4» (вправо и влево соответственно).

Горячие клавиши Byobu:

  • «F2» – Создать новое окно;
  • «F3» – Перейти к предыдущему окну;
  • «F4» – Перейти к следующему окну;
  • «F5» – Перечитать профиль;
  • «F6» – Отсоединиться от текущей сессии;
  • «F7» – Включить режим копирования;
  • «F8» – Переименовать окно;
  • «F9» – Конфигурационное меню;
  • «F12» – Заблокировать терминал;
  • «Shift+F2» – Разделить экран горизонтально на 2 окна;
  • «Ctrl+F2» – Разделить экран вертикально на 2 окна;
  • «Shift+F3» – Переместить фокус на предыдущую зону (при разделении экрана);
  • «Shift+F4» – Переместить фокус на следующую зону (при разделении экрана);
  • «Shift+F5» – Объединить все разделения экрана;
  • «Ctrl+F5» – Пересоздать соединение к GPG и SSH сокетам;
  • «Shift+F6» – Отсоединиться, но не выполнить logout;
  • «Ctrl+F6» – Удалить область экрана (при разделении экрана);
  • «Alt+Page↑» – Перейти в режим скроллинга;
  • «Alt+Page↓» – Перейти в режим скроллинга;
  • «Ctrl+A+$» – Показать детальную информацию;
  • «Ctrl+A+R» – Перезагрузить профиль;
  • «Ctrl+A+K» – Закрыть текущее «окно».
    • Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

      Print Friendly, PDF & Email