Byobu – удобная оболочка для Screen иTmux linux
Byobu – это удобная оболочка для GNU Screen и Tmux, позволяющая запускать несколько программ в фоне в рамках одной консольной сессии и восстанавливать подключение к этой же сессии при переподключении. То есть с помощью Byobu вы сможете запустить какой-нибудь долгий процесс (например, компиляцию) на сервере в фоне, выйти из консольной сессии (закрыть SSH подключение), а затем подключившись к серверу в следующий раз оказаться в той же сессии и продолжить наблюдать за процессом компиляции (или увидеть её результат).
Основные функции Byobu:
- Поддержка консольных окон;
- Разделение пространства окна;
- Уведомления и значки для отображения состояния хоста.
Гибкая оболочка Byobu предоставляет вам множество возможностей и полезных функций.
1. Установка
Запуск Byobu
По умолчанию оболочка Byobu отключена после установки. Существует два способа включить Byobu: запускать вручную с помощью команды byobu всякий раз, когда вам нужна эта оболочка, или же настроить автоматический запуск (оболочка будет запущена автоматически при входе в аккаунт).
Чтобы добавить Byobu в свой профиль, запустите команду:
byobu-enable
The Byobu window manager will be launched automatically at each text login.
Чтобы удалить Byobu из профиля, запустите:
byobu-disable
Сессии Byobu поддерживаются между несколькими сеансами входа, потому предыдущая консольная сессия загрузится автоматически при следующем входе в систему. Чтобы этого не произошло, закройте сессию перед выходом. Byobu поддерживает запущенные в сессии сценарии и открытые файлы, даже если вы вышли из системы.
3: Настройка мультиплексора
По умолчанию Byobu работает с мультиплексором tmux, однако при необходимости вы можете изменить мультиплексор (например, выбрать screen). Для этого запустите команду:
byobu-select-backend
На экране появится список доступных мультиплексоров. Выберите один из них, введите его порядковый номер и нажмите Enter:
Select the byobu backend:
1. tmux
2. screen
Choose 1-2 [1]:
Примечание: В руководстве используется мультиплексор tmux, однако его основные комбинации клавиш совпадают с мультиплексором screen.
4: Цветная командная строка
Byobu поддерживает цветную командную строку, которая включает в себя код возврата последней выполненной команды. Она включена по умолчанию в некоторых средах. Чтобы включить её вручную (или убедиться, что она уже включена), запустите:
byobu-enable-prompt
Перезапустите оболочку:
. ~/.bashrc
Чтобы отключить цветную командную строку, запустите byobu-disable-prompt.
5: Сессии 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 поддерживает несколько одновременных подключений, эта комбинация отключает все соединения, кроме текущего.
6: Окна 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.
7: Панели 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. Это автоматически создаст ещё одно окно, разделённое на панели.
8: Уведомления о состоянии
Уведомления о состоянии – это сообщения в строке состояния в нижней части экрана Byobu.
Чтобы открыть конфигурационное меню Byobu, нажмите F9. На экране появится меню, выберите Toggle status notification и нажмите Enter. Список доступных уведомлений о состоянии будет выведен на экран. Выберите необходимые вам уведомления.
Включив поддержку уведомлений, вы увидите нижнюю панель рядом с оконными индикаторами. По умолчанию панель поддерживает пару таких индикаторов (например, дату, нагрузку и состояние памяти). Некоторые уведомления можно настроить в конфигурационном файле.
Основные уведомления:
- 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 используются следующие горячие клавиши:
-
F2 – Создать новое окно
-
F3 – Перейти к предыдущему окну
-
F4 – Перейти к следующему окну
-
F5 – Перечитать профиль
-
F6 – Отсоединиться от текущей сессии
-
F7 – Включить режим копирования
-
F8 – Переименовать окно
-
F9 – Конфигурационное меню
-
F12 – Заблокировать терминал
-
Shift+F2 – Разделить экран горизонтально на 2 окна
-
Ctrl+F2 – Разделить экран вертикально на 2 окна
-
Shift+F3 – Переместить фокус на предыдущую зону (при разделении экрана)
-
Shift+F4 – Переместить фокус на следующую зону (при разделении экрана)
-
Shift+F5 – Объединить все разделения экрана
-
Ctrl+F6 – Удалить область экрана (при разделении экрана)
-
Ctrl+F5 – Пересоздать соединение к GPG and SSH сокетам
-
Shift+F6 – Отсоединиться, но не выполнить logout
-
Alt+Page↑ – Перейти в режим скроллинга
-
Alt+Page↓ – Перейти в режим скроллинга
-
Ctrl+a+$ – Показать детальную информацию
-
Ctrl+a+R – Перезагрузить профиль
-
Ctrl+a+! – Toggle key bindings on and off
-
Ctrl+a+k – Закрыть текущее «окно»
-
Ctrl+a+~ – Save the current window’s scrollback buffer
Советы и подсказки
Включение Bash автодополнения в Byobu
Для того, чтобы в консоли работало автодополнение для большинства команд, необходимо установить пакет bash-completion. Однако даже если этот пакет установлен, в bash, запущенном через byobu, автодополнение возможно всё равно работать не будет.
Чтобы исправить это добавьте в конец вашего файла ~/.bashrc следующие строчки:
# Включение автодополнения if [ -f /etc/profile.d/bash_completion.sh ]; then . /etc/profile.d/bash_completion.sh fi





Comments
So empty here ... leave a comment!