УПРАВЛЕНИЕ ТЕРМИНАЛОМ С ПОМОЩЬЮ BYOBU

Byobu – это удобная и простая оболочка для терминального мультиплексора tmux и screen. Она позволяет открывать большое количество окон и запускать несколько команд внутри одного соединения.

Основные функции Byobu:

  • Поддержка консольных окон
  • Разделение панелей в каждом окне
  • Уведомления и значки для отображения состояния хоста
  • Постоянные сеансы для нескольких подключений

Гибкая оболочка Byobu предоставляет вам множество возможностей и полезных функций.

Установка Byobu

sudo apt-get install byobu
yum install byobu
pkg add byobu
brew install byobu

Строка установки зависит от выбранного дистрибутива, в Ubuntu данный пакет быстрее всего будет установлен.

Запуск Byobu

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

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

byobu-enable

The Byobu window manager will be launched automatically at each text login.

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

byobu-disable

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

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

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

byobu-select-backend

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

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

Примечание: В руководстве используется мультиплексор tmux, однако его основные комбинации клавиш совпадают с мультиплексором screen.

Цветная командная строка

Byobu поддерживает цветную командную строку, которая включает в себя код возврата последней выполненной команды. Она включена по умолчанию в некоторых средах. Чтобы включить её вручную (или убедиться, что она уже включена), запустите:

byobu-enable-prompt

Перезапустите оболочку:

. ~/.bashrc

Чтобы отключить цветную командную строку, запустите byobu-disable-prompt.

УПРАВЛЕНИЕ ТЕРМИНАЛОМ С ПОМОЩЬЮ BYOBU

Сессии Byobu

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

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

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

Byobu sessions...
1. tmux: 1: 1 windows (created Wed Aug 3 16:34:26 2016) [80x23]
2. tmux: 2: 1 windows (created Wed Aug 3 16:34:38 2016) [80x23]
3. Create a new Byobu session (tmux)
4. Run a shell without Byobu (/bin/bash)
Choose 1-4 [1]:

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

Подключитесь к серверу по SSH и включите Byobu (если оболочка не была включена ранее). Запустите новую сессию, нажав CTRL+SHIFT+F2. Для навигации используются горячие клавиши ALT+UP и ALT+DOWN.

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

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

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

Окна Byobu

Byobu позволяет переключаться между окнами внутри одной сессии. Это обеспечивает мультизадачность каждого соединения.

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

sudo tail -n100 -f /var/log/syslog

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

editor ~/random.file

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

На данный момент в логе должно быть несколько записей. Чтобы просмотреть более старые записи (они, как правило, уже не отображаются на экране), перейдите в соответствующее окно и нажмите F7. Чтобы просмотреть историю, нажмите Up/Down или PageUp/PageDown. Чтобы вернуться в режим просмотра, нажмите Enter.

Всего несколько клавиш позволяют выполнить довольно много действий, что не так просто сделать в SSH.

Панели Byobu

Byobu предоставляет возможность делить окно на несколько панелей, как по горизонтали, так и по вертикали. Это позволяет выполнять несколько задач в рамках одного окна.

Попробуйте разделить текущее окно. Чтобы разделить его горизонтально, используйте горячие клавиши SHIFT+F2, чтобы разделить его по вертикали, нажмите CTRL+F2. Byobu практически не ограничивает количество панелей в одном окне, что позволяет создавать сложные макеты. Обратите внимание: разделить панель нельзя, если оставшееся пространство нельзя разделить на две части.

Разделив окно хотя бы на две панели, попробуйте перейти из одной панели в другую. Для этого используются клавиши SHIFT+LEFT/RIGHT/UP/DOWN или SHIFT+F3/F4. Вы можете запустить команду в одной панели, а затем продолжить работу в другой. Чтобы поменять панели местами, нажмите CTRL+F3/F4 (вверх и вниз соответственно).

Комбинация клавиш SHIFT+ALT+LEFT/RIGHT/UP/DOWN позволяет регулировать высоту и ширину панели. При этом размер остальных панелей изменится автоматически.

Также можно изменить масштаб панели с помощью SHIFT + F11. При этом текущая панель заполнит все окно. Снова нажмите

SHIFT + F11, чтобы вернуться к исходному размеру. Чтобы разбить панель в новом окне, используйте ALT + F11. Это автоматически создаст ещё одно окно, разделённое на панели.

УПРАВЛЕНИЕ ТЕРМИНАЛОМ С ПОМОЩЬЮ BYOBU

Уведомления о состоянии

Уведомления о состоянии – это сообщения в строке состояния в нижней части экрана Byobu.

Чтобы открыть конфигурационное меню Byobu, нажмите F9. На экране появится меню, выберите Toggle status notification и нажмите Enter. Список доступных уведомлений о состоянии будет выведен на экран. Выберите необходимые вам уведомления.

УПРАВЛЕНИЕ ТЕРМИНАЛОМ С ПОМОЩЬЮ BYOBU

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

Основные уведомления:

  • arch: архитектура системы (например, x86_64).
  • battery: уровень зарядки батареи (для ноутбуков).
  • date: текущая дата.
  • disk: текущее использование диска.
  • hostname: имя хоста.
  • ip_address: текущий IP-адрес.
  • load_average: текущая средняя загрузка системы.
  • memory: текущее использование памяти.
  • network: текущее использование сети, отправки и получения.
  • reboot_required: сообщает о необходимости перезагрузки.
  • release: показывает текущую версию распределения (например, 14.04).
  • time: текущее время.
  • updates_available: сообщает о доступных обновлениях.
  • uptime: текущий аптайм системы.
  • whoami: показывает текущего авторизованного пользователя.

Выберите необходимые уведомления и нажмите Apply. Чтобы обновить строку состояния, нажмите F5.

Byobu Cheat sheet

KEYBINDINGS
byobu keybindings can be user defined in /usr/share/byobu/keybindings/ (or within .screenrc if byobu-export was used). The common key bindings
are:
F2 — Create a new window
F3 — Move to previous window
F4 — Move to next window
F5 — Reload profile
F6 — Detach from this session
F7 — Enter copy/scrollback mode
F8 — Re-title a window
F9 — Configuration Menu
F12 — Lock this terminal
shift-F2 — Split the screen horizontally
ctrl-F2 — Split the screen vertically
shift-F3 — Shift the focus to the previous split region
shift-F4 — Shift the focus to the next split region
shift-F5 — Join all splits
ctrl-F6 — Remove this split
ctrl-F5 — Reconnect GPG and SSH sockets
shift-F6 — Detach, but do not logout
alt-pgup — Enter scrollback mode
alt-pgdn — Enter scrollback mode
Ctrl-a $ — show detailed status
Ctrl-a R — Reload profile
Ctrl-a ! — Toggle key bindings on and off
Ctrl-a k — Kill the current window
Ctrl-a ~ — Save the current window’s scrollback buffer
SCROLLBACK, COPY, PASTE MODES
Each window in Byobu has up to 10,000 lines of scrollback history, which you can enter and navigate using the alt-pgup and alt-pgdn keys. Exit
this scrollback mode by hitting enter. You can also easily copy and paste text from scrollback mode. To do so, enter scrollback using alt-pgup
or alt-pgdn, press the spacebar to start highlighting text, use up/down/left/right/pgup/pgdn to select the text, and press enter to copy the
text. You can then paste the text using alt-insert or ctrl-a-].

Extra key bindings

1- Ctrl + shift + f3 # to change the position of the tab to left

2- Ctrl + shift + f4 # to change the position of the tab to right

Документация