Управление терминалом с помощью Byobu в Ubuntu 16.04
Ubuntu | Комментировать запись
Byobu – это удобная и простая оболочка для терминального мультиплексора tmux и screen. Она позволяет открывать большое количество окон и запускать несколько команд внутри одного соединения.
Основные функции Byobu:
- Поддержка консольных окон;
- Разделение пространства окна;
- Уведомления и значки для отображения состояния хоста.
Гибкая оболочка Byobu предоставляет вам множество возможностей и полезных функций.
Данное руководство поможет установить и настроить Byobu.
Требования
- Настроенный сервер Ubuntu 16.04 (инструкции по начальной настройке можно найти здесь).
- Пользователь с доступом к команде sudo.
1: Установка Byobu
Оболочка Byobu должна быть установлена в Ubuntu по умолчанию. Чтобы убедиться в этом, введите:
byobu --version
byobu version 5.106
tmux 2.1
Эта команда должна вернуть номер текущей версии. Если этого не произошло, значит, Byobu не установлена. Чтобы установить оболочку, введите:
sudo apt-get install byobu
2: Запуск 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 можно найти в мануале проекта.
Другие полезные горячие клавиши:
- SHIFT+F1: выводит полный список горячих клавиш. Чтобы закрыть его, нажмите q.
- SHIFT+F12: включает или отключает комбинации клавиш. Это позволяет избежать конфликта клавиш при использовании другого терминала.
- CTRL+F9: открывает командную строку, которая позволяет отправить один и тот же запрос в каждом окне. SHIFT+F9 делает то же самое, но в панелях.