Сегодня мы увидим одну хорошо известную утилиту командной строки под названием «Tmux» для управления сеансами терминала. Подобно GNU Screen, Tmux также является мультиплексором терминала, который позволяет нам создавать несколько сеансов терминала и запускать более одной программы или процессов одновременно в одном окне терминала. Tmux — это бесплатная кроссплатформенная программа с открытым исходным кодом, которая поддерживает Linux, OpenBSD, FreeBSD, NetBSD и Mac OS X. В этом руководстве мы обсудим наиболее часто используемые команды Tmux в Linux, ответив, тема самым, на очередной вопрос по использованию Linux.
Установка Tmux в Linux
Tmux доступен в официальных репозиториях большинства дистрибутивов Linux.
В Arch Linux и его вариантах выполните следующую команду, чтобы установить его.
$ sudo pacman -S tmux
В Debian, Ubuntu, Linux Mint:
$ sudo apt-get install tmux
В Fedora:
$ sudo dnf install tmux
В RHEL и CentOS:
$ sudo yum install tmux
В SUSE/openSUSE:
$ sudo zypper install tmux
Итак, мы только что установили Tmux. Давайте посмотрим на несколько примеров, чтобы узнать, как использовать Tmux.
Примеры команд Tmux для управления несколькими терминальными сессиями
Ярлык префикса по умолчанию для всех команд в Tmux — Ctrl + b . Просто запомните это сочетание клавиш при использовании Tmux.
Примечание. Префиксом по умолчанию для всех экранных команд является Ctrl + a .
Создание сессий Tmux
Чтобы создать новый сеанс Tmux и присоединиться к нему, выполните следующую команду из Терминала:
tmux
Или же,
tmux new
Как только вы войдете в сеанс Tmux, вы увидите зеленую полосу внизу, как показано на скриншоте ниже.
Очень удобно проверить, находитесь ли вы в сеансе Tmux или нет.
Отключение от сессий Tmux
Чтобы отключиться от текущего сеанса Tmux, просто нажмите Ctrl + b и d . Вам не нужно нажимать оба сочетания клавиш одновременно. Сначала нажмите «Ctrl + b», а затем нажмите «d».
Как только вы отключитесь от сеанса, вы увидите результат, подобный приведенному ниже.
[detached (from session 0)]
Создание именованных сессий
Если вы используете несколько сеансов, вы можете запутаться, какие программы в каких сеансах работают. В таких случаях вы можете просто создать именованные сеансы. Например, если вы хотите выполнить некоторые действия, связанные с веб-сервером в сеансе, просто создайте сеанс Tmux с настраиваемым именем, например «веб-сервер» (или любым именем по вашему выбору).
tmux new -s webserver
Вот новый сеанс Tmux.
Как вы можете видеть на приведенном выше снимке экрана, имя сеанса Tmux — веб-сервер . Таким образом, вы можете легко определить, какая программа в каком сеансе запущена.
Чтобы отсоединить, просто нажмите Ctrl + b и d .
Список сеансов Tmux
Чтобы просмотреть список открытых сессий Tmux, запустите:
tmux ls
Пример вывода:
Как видите, у меня есть два открытых сеанса Tmux.
Создание отдельных сеансов
Иногда вам может потребоваться просто создать сеанс и не подключаться к нему автоматически.
Чтобы создать новый отдельный сеанс с именем «ostechnix», запустите:
tmux new -s ostechnix -d
Приведенная выше команда создаст новый сеанс Tmux под названием «ostechnix», но не будет к нему подключаться.
Вы можете проверить, создан ли сеанс, используя команду «tmux ls
«:
Присоединение к сессиям Tmux
Вы можете подключиться к последней созданной сессии, выполнив эту команду:
tmux attach
Или же,
tmux a
Если вы хотите подключиться к какому-либо конкретному именованному сеансу, например, «ostechnix», запустите:
tmux attach -t ostechnix
Или коротко:
tmux a -t ostechnix
Убить сеансы Tmux
Когда вы закончите и больше не нуждаетесь в сеансе Tmux, вы можете в любой момент завершить его с помощью команды:
tmux kill-session -t ostechnix
Чтобы убить при прикреплении, нажмите Ctrl + b и x . Нажмите «y», чтобы завершить сеанс.
Вы можете проверить, закрыт ли сеанс, с помощью команды «tmux ls».
Чтобы убить сервер Tmux вместе со всеми сеансами Tmux, запустите:
tmux kill-server
Будьте осторожны! Это завершит все сеансы Tmux, даже если внутри сеансов есть какие-либо запущенные задания без какого-либо предупреждения.
Когда не было запущенных сеансов Tmux, вы увидите следующий вывод:
$ tmux ls no server running on /tmp/tmux-1000/default
Разделение окон сеанса Tmux
Tmux имеет возможность разделить одно окно сеанса Tmux на несколько меньших окон, называемых панелями Tmux. Таким образом, мы можем запускать разные программы на каждой панели и взаимодействовать со всеми одновременно. Размер каждой панели можно изменять, перемещать и закрывать, не затрагивая другие панели. Мы можем разделить окно Tmux либо по горизонтали, либо по вертикали, либо по обоим сразу.
Разделить панели по горизонтали
Чтобы разделить панель по горизонтали, нажмите Ctrl + b и » (одинарная кавычка).
Используйте ту же комбинацию клавиш, чтобы разделить панели дальше.
Разделить панели по вертикали
Чтобы разделить панель по вертикали, нажмите Ctrl + b и % .
Разделение панелей по горизонтали и вертикали
Мы также можем разделить панель одновременно по горизонтали и вертикали. Взгляните на следующий снимок экрана.
Сначала я сделал горизонтальное разделение, нажав Ctrl + b «, а затем разделил нижнюю панель по вертикали, нажав Ctrl + b% .
Как вы видите на скриншоте выше, я запускаю три разные программы на каждой панели.
Переключение между панелями
Для переключения между панелями нажимайте Ctrl + b и клавиши со стрелками (влево, вправо, вверх, вниз) .
Отправлять команды на все панели
В предыдущем примере мы запускали три разные команды на каждой панели. Однако также можно запустить отправку одних и тех же команд на все панели сразу.
Для этого нажмите Ctrl + b, введите следующую команду и нажмите ENTER:
:setw synchronize-panes
Теперь введите любую команду на любой панели. Вы увидите, что одна и та же команда отображается на всех панелях.
Поменять местами панели
Чтобы поменять местами панели, нажмите Ctrl + b и o .
Показать номера панелей
Нажмите Ctrl + b и q, чтобы отобразить номера панелей.
Убить панели
Чтобы убить панель, просто введите команду exit и нажмите клавишу ВВОД. Или нажмите Ctrl + b и x . Вы увидите подтверждающее сообщение. Просто нажмите «y», чтобы закрыть панель.
Увеличение и уменьшение панелей Tmux
Мы можем масштабировать панели Tmux, чтобы они соответствовали полному размеру текущего окна Терминала, для лучшей видимости текста и для просмотра большего количества его содержимого. Это полезно, когда вам нужно больше места или сосредоточиться на конкретной задаче. После завершения этой задачи вы можете уменьшить (уменьшить масштаб) панель Tmux до ее нормального положения. Подробнее по следующей ссылке.
На этом этапе вы получите базовое представление о Tmux и о том, как его использовать для управления несколькими сеансами терминала. Для получения дополнительных сведений см. Справочные страницы.
$ man tmux
Утилиты GNU Screen и Tmux могут быть очень полезны при удаленном управлении серверами через SSH. Тщательно изучите команды Screen и Tmux, чтобы профессионально управлять удаленными серверами.