Использование возможностей tmux в Linux и macOS: шпаргалка по tmux
Tmux - это инструмент, который многим пользователям может показаться очень полезным при запуске программ на сервере. Tmux - это инструмент мультиплексора. Он позволяет запускать и управлять несколькими терминалами с одного терминала.
Кроме того, программа предотвращает случайное отключение программ, поскольку они не привязаны непосредственно к основному терминалу.
При всем этом tmux работает довольно быстро и стабильно, что делает его чрезвычайно полезным, если хорошо изучить его использование, о чем мы расскажем в этой статье.
Изучение преимуществ tmux
Tmux обладает целым рядом возможностей, которые вы можете использовать для эффективного управления серверной средой Linux. Среди них:
Многозадачность: С помощью Tmux вы можете одновременно запускать несколько программ в одном терминале. Tmux позволяет разделить терминал на несколько отдельных терминалов, при этом программы могут работать в фоновом режиме.
Скриптинг и автоматизация: Tmux открывает богатую функциональность с возможностью написания сценариев и автоматизации различных операций.
Гибкая конфигурация: Tmux предлагает очень гибкую конфигурацию, позволяющую координировать функциональность приложения с самыми разными запросами.
Сессии, окна и панели: Tmux предлагает достаточно гибкий, интуитивно понятный и логичный иерархический интерфейс. Сессия состоит из окон, окно - из панелей.
Плагины: Основная функциональность Tmux может быть во многом обогащена с помощью внешних плагинов.
Производительность: Управление десятками сессий из одного окна может найти десятки применений в проектах любого типа.
Эффективное управление сеансами: С помощью Tmux вы можете в любой момент отсоединить и снова присоединить сеансы, не теряя при этом никакого прогресса.
Удаленный доступ: Сессии Tmux могут быть доступны и разделены между удаленными серверами или различными компьютерами, что делает его полезным инструментом для удаленной совместной работы и мониторинга.
Коллаборация: С помощью Tmux можно реализовать различные подходы к совместной работе, например, парное программирование.
Руководство по установке tmux для Linux и macOS
В следующих разделах мы рассмотрим установку tmux на различных системах, а также различные команды, которые будут очень полезны при работе с этим решением.
Установка в Linux на базе Debian (например, Ubuntu)
Чтобы установить tmux на Debian, а также на Ubuntu, введите следующую команду:
sudo apt update && sudo apt install tmux
Установка в Linux на базе RHEL (например, Fedora и CentOS)
При использовании Fedora, CentOS и любого другого дистрибутива на базе RHEL вам необходимо использовать:
На CentOS и RHEL 7:
sudo yum -y install tmux
На RHEL 8, а также Fedora, Rocky и AlmaLinux:
sudo dnf -y install tmux
Установка в Arch-based Linux (например, EndeavourOS)
Для Arch Linux и других дистрибутивов, основанных на нем, вам потребуется:
sudo pacman -S tmux
Установка на Alpine Linux
Чтобы установить tmux на Alpine Linux, выполните следующие действия:
sudo apk add tmux
Установка на macOS
Одним из возможных вариантов установки tmux на macOS является использование Homebrew.
Сначала установите Xcode:
xcode-select --install
Затем установите Homebrew
:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
После установки Homebrew можно использовать для установки tmux:
brew install tmux
После завершения процесса проверьте установку:
$ tmux -Vtmux 3.3a
Освоение tmux в дистрибутивах Linux (Ubuntu, Fedora, CentOS, EndeavourOS)
Теперь, когда tmux установлен на любой используемой вами ОС, пришло время рассмотреть некоторые важные команды и сочетания клавиш, которые пригодятся любому пользователю tmux:
Комбинация клавиш | Функция |
tmux | Новый сеанс |
tmux new -s <name> | Новый сеанс с <названием> на ваш выбор |
tmux ls | Список сеансов |
tmux a tmux at tmux attach tmux attach-session | Присоеденить к последним используемым |
tmux a -t <name> tmux attach -t <name> | Присоединить к сеансу под <названием> |
tmux kill-session -t <name> | Прекратить сеанс под <названием> |
tmux kill-session -a | Прекратить/удалить все сеансы, за исключением текущего |
tmux kill-session -a -t <name> | Прекратить/удалить все сеансы, за исключением текущего под <названием> |
Комбинация клавиш | Функция |
tmux new -s mysession -n mywindow | Запустите новый сеанс с именем mysession и окном mywindow |
Ctrl+b ( | Переход к предыдущей сессии |
Ctrl+b ) | Переход к следующей сессии |
Ctrl+b & | Закрыть текущее окно |
Ctrl+b p | Предыдущее окно |
Ctrl+b n | Следующее окно |
swap-window -t -1 | Переместить текущее окно влево на одну позицию |
Навигация по сочетаниям клавиш
Теперь давайте рассмотрим некоторые основные сочетания клавиш tmux для управления сессиями и окнами:
Комбинация клавиш | Функция |
Ctrl+b ? | Перечень всех сочетаний клавиш |
Ctrl-b d | Отсоединение от текущей сессии |
Ctrl+b % | Добавить новую панель справа/разделить по вертикали |
Ctrl+b “ | Добавить новую панель в нижнюю часть/разделить панель по горизонтали |
Ctrl+b { | Переместить текущую панель влево |
Ctrl+b } | Переместить текущую панель вправо |
Ctrl+b o | Переход к следующей панели |
Ctrl+b ; | Перемещение между текущей и предыдущей панелями |
Ctrl+b >/< | Перемещение между панелями |
Ctrl+b x | Закрыть текущую панель |
Ctrl+b z | Переключение масштаба панели |
Ctrl-b c | Создать новое окно |
Ctrl-b w | Переключение между сеансами и окнами |
Использование возможностей команд tmux
Использование команд в tmux идентично обычному использованию команд в дистрибутивах Linux. Рассмотрим, как это делается в Ubuntu.
Сначала запустите tmux командой tmux. Это приведет к запуску сервера tmux, открытию в том же окне сессии #0 и подключению к ней.
Затем может потребоваться отсоединиться от сессии. Для этого нажмите Ctrl+b, затем d. Чтобы присоединиться еще раз, используйте команду tmux new -s <named>.
Чтобы начать сеанс с определенным именем, введите tmux new -s <named>. Чтобы составить список сеансов, примените ls.
Удалить сессию можно командой tmux kill-session -t <name>. Используйте либо имя сессии, либо ее индекс.
Чтобы создать сразу несколько панелей, используйте Ctrl+b %.
Если вы хотите, чтобы отображались все сессии, которые запущены в данный момент, используйте команду tmux ls.
После отсоединения от сеанса можно снова присоединиться к нему с помощью команд tmux a, tmux at, tmux attach, или tmux attach-session.
Переключение между следующей и предыдущей сессией осуществляется также командой Ctrl+b.
Другой способ использования этой команды - добавление после нее %, что приведет к горизонтальному разделению панели. Вместо этого для вертикального разделения добавьте " после сочетания клавиш. Добавление } приведет к перемещению панели вправо, а { - влево, соотвественно.
Командный режим
Командный режим - это режим, позволяющий работать с сессиями tmux, окнами, а также панелями. Чтобы войти в него, после команды Ctrl+b поставьте двоеточие [:]. После этого в нижней части экрана откроется командная строка. После этого вы сможете использовать различные команды для управления интерфейсом.
tmux new -n mywindow - типичная команда, используемая для создания нового окна. Однако в командном режиме достаточно просто набрать new -n mywindow. Для облегчения выполнения команд всегда можно переключиться в командный режим.
Командный режим можно использовать для синхронизации вкладок, то есть для одновременного выполнения ими одних и тех же задач. Чтобы войти в него, введите в командном режиме команду setw synchronize-panes. После этого команда, вставленная в командную строку текущей панели, будет применена ко всем панелям.
Если вы не помните некоторые сочетания клавиш, то можете обновить список с помощью комбинации клавиш Ctrl+b, добавив после сочетания клавиш “?”.
Заключение
Tmux - это многофункциональный инструмент, позволяющий запускать несколько терминалов из одного терминального окна, что может быть полезно в различных ситуациях. В приведенной выше статье мы рассказали об установке и использовании этого инструмента. Теперь вы можете выполнять различные операции с его помощью. Если вы что-то забыли, не стесняйтесь вернуться к этой статье и заглянуть в представленный список шпаргалок.