Поиск по сайту:

Команды Tmux для управления несколькими сеансами терминала

Мы уже научились использовать GNU Screen для управления несколькими сеансами терминала. Сегодня мы увидим еще одну известную утилиту командной строки под названием "Tmux", которая также используется для управления несколькими сеансами терминала. В этом руководстве объясняется, что такое Tmux и использование команд Tmux, с примерами в Linux.

1. Что такое Тмукс?

Подобно GNU Screen, Tmux также является мультиплексором терминала, который позволяет нам создавать несколько сеансов терминала и запускать более одной программы или процесса одновременно в одном окне терминала.

Tmux — бесплатная кроссплатформенная программа с открытым исходным кодом, поддерживающая Linux, OpenBSD, FreeBSD, NetBSD и Mac OS X.

2. Установите Tmux в Linux.

Tmux доступен в официальных репозиториях большинства дистрибутивов Linux.

Чтобы установить Tmux в Alpine Linux, запустите:

sudo apk add tmux

В Arch Linux и его вариантах, таких как EndeavourOS и Manjaro Linux, выполните следующую команду, чтобы установить его.

sudo pacman -S tmux

В Debian, Ubuntu, Linux Mint, Pop_OS!:

sudo apt-get install tmux

В Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux:

sudo dnf install tmux

Или,

sudo yum install tmux

В SUSE/openSUSE:

sudo zypper install tmux

Итак, мы только что установили Tmux. Давайте продолжим и посмотрим несколько примеров использования Tmux.

3. Использование команд Tmux с примерами

Ярлык префикса по умолчанию для всех команд в Tmux — Ctrl+b. Просто запомните это сочетание клавиш при использовании Tmux.

Внимание! Префиксом по умолчанию для всех команд Экрана является Ctrl+a.

3.1. Создание сессий Tmux

Чтобы создать новый сеанс Tmux и подключиться к нему, выполните следующую команду из терминала:

tmux

Или,

tmux new

Войдя в сеанс Tmux, вы увидите зеленую полосу внизу, как показано на снимке экрана ниже.

Новая сессия Tmux

Очень удобно проверить, находитесь ли вы в сеансе Tmux или нет.

3.2. Отключение от сеансов Tmux

Чтобы отключиться от текущего сеанса Tmux, просто нажмите Ctrl+b и d. Вам не нужно нажимать оба сочетания клавиш одновременно. Сначала нажмите "Ctrl+b", а затем нажмите "d".

Как только вы отключитесь от сеанса, вы увидите результат, подобный приведенному ниже.

[detached (from session 0)]

3.3. Создание именованных сессий

Если вы используете несколько сеансов, вы можете запутаться, какие программы в каких сеансах выполняются. В таких случаях вы можете просто создавать именованные сеансы.

Например, если вы хотите выполнить некоторые действия, связанные с веб-сервером, в сеансе, просто создайте сеанс Tmux с собственным именем, например "веб-сервер" (или любым именем по вашему выбору).

tmux new -s webserver

Вот новый сеанс с именем Tmux.

Сеанс Tmux с произвольным именем

Как вы можете видеть на скриншоте выше, имя сеанса Tmux — веб-сервер. Таким образом, вы можете легко определить, какая программа в каком сеансе запущена.

Чтобы отсоединиться, просто нажмите Ctrl+b и d.

3.4. Получение списка сессий Tmux

Чтобы просмотреть список открытых сессий Tmux, запустите:

tmux ls

Пример вывода:

Получение списка сессий Tmux

Как видите, у меня есть два открытых сеанса Tmux.

3.5. Создание отдельных сеансов

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

Чтобы создать новый отдельный сеанс с именем "ostechnix", запустите:

tmux new -s ostechnix -d

Приведенная выше команда создаст новый сеанс Tmux под названием «ostechnix», но не подключится к нему.

Вы можете проверить, создан ли сеанс, с помощью команды tmux ls:

Создание отдельных сеансов Tmux

3.6. Присоединение к сеансам Tmux

Вы можете подключиться к последнему созданному сеансу, выполнив следующую команду:

tmux attach

Или,

tmux a

Если вы хотите подключиться к какому-либо конкретному именованному сеансу, например «ostechnix», запустите:

tmux attach -t ostechnix

Или, короче:

tmux a -t ostechnix

3.7. Убить сеансы 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

3.8. Разделение окон сеанса Tmux

В Tmux есть возможность разделить одно окно сеанса Tmux на несколько меньших окон, называемых панелями Tmux.

Таким образом, мы можем запускать разные программы на каждой панели и взаимодействовать со всеми ними одновременно.

Размер каждой панели можно изменять, перемещать и закрывать, не затрагивая другие панели. Мы можем разделить окно Tmux по горизонтали, по вертикали или по обоим одновременно.

3.8.1. Разделить панели по горизонтали

Чтобы разделить панель по горизонтали, нажмите Ctrl+b и " (одинарная кавычка).

Разделить панель Tmux по горизонтали

Используйте ту же комбинацию клавиш, чтобы разделить панели дальше.

3.8.2. Разделить панели по вертикали

Чтобы разделить панель по вертикали, нажмите Ctrl+b и %.

Разделить панели Tmux по вертикали

3.8.3. Разделение панелей по горизонтали и вертикали

Мы также можем разделить панель одновременно по горизонтали и вертикали. Посмотрите на следующий скриншот.

Разделение панелей по горизонтали и вертикали

Сначала я разделил нижнюю панель по горизонтали, нажав Ctrl+b ", а затем разделил нижнюю панель по вертикали, нажав Ctrl. +b %.

Как вы видите на скриншоте выше, я запускаю три разные программы на каждой панели.

3.8.4. Переключение между панелями

Для переключения между панелями нажмите Ctrl+b и клавиши со стрелками (влево, вправо, вверх, вниз).

3.8.5. Отправлять команды на все панели

В предыдущем примере мы запускаем три разные команды на каждой панели. Однако также можно запустить отправку одних и тех же команд на все панели одновременно.

Для этого нажмите Ctrl+b, введите следующую команду и нажмите ENTER:

:setw synchronize-panes

Теперь введите любую команду на любой панели. Вы увидите, что одна и та же команда отображается на всех панелях.

3.8.6. Поменять местами панели

Чтобы поменять местами панели, нажмите Ctrl+b и o.

3.8.7. Показать номера панелей

Нажмите Ctrl+b и q, чтобы отобразить номера панелей.

3.8.8. Уничтожить панели

Чтобы закрыть панель, просто введите exit и клавишу ENTER. Либо нажмите Ctrl+b и x. Вы увидите подтверждающее сообщение. Просто нажмите "y", чтобы закрыть панель.

Убить панели Tmux

4. Увеличение и уменьшение масштаба панелей Tmux

Мы можем масштабировать панели Tmux, чтобы они вписывались в полный размер текущего окна терминала, чтобы улучшить видимость текста и просмотреть больше его содержимого.

Это полезно, когда вам нужно больше места или сосредоточьтесь на конкретной задаче. После завершения этой задачи вы можете уменьшить масштаб (отменить масштаб) панели Tmux и вернуть ее в нормальное положение. Более подробная информация по следующей ссылке.

  • Как масштабировать панели Tmux для лучшей видимости текста

5. Автозапуск сеансов Tmux

Всегда полезно запускать длительный процесс внутри сеанса Tmux при работе с удаленными системами через SSH.

Потому что это не позволяет вам потерять контроль над запущенным процессом в случае внезапного разрыва сетевого соединения.

Один из способов избежать этой проблемы — автоматический запуск сеансов Tmux. Для получения более подробной информации перейдите по следующей ссылке.

  • Автозапуск сеанса Tmux в удаленной системе при входе через SSH

6. Настройка меню выбора сеанса Tmux

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

  • Улучшение входа по SSH с помощью меню выбора сеанса Tmux в Linux

7. Установите плагины Tmux с TPM.

Мы можем расширить функциональность Tmux с помощью плагинов. Однако загрузка и установка каждого плагина вручную может быть немного сложной задачей. Здесь на помощь приходит Менеджер плагинов Tmux (TPM). В следующем руководстве показано, как устанавливать плагины Tmux и управлять ими с помощью TPM в Linux.

  • Менеджер плагинов Tmux: незаменимая вещь для опытных пользователей Tmux

8. Сохранение и восстановление среды Tmux

По умолчанию сеансы Tmux не сохраняются после перезагрузки системы. Это может быть неприятно, если вы используете несколько сеансов, окон, панелей и программ.

Конечно, существуют полезные инструменты, которые могут сделать среду Tmux постоянной после перезапуска, но их может быть сложно настроить и поддерживать.

В следующем руководстве объясняется, как сохранять и восстанавливать сеансы Tmux с минимальной настройкой.

  • Как сохранить и восстановить среду Tmux после перезагрузки в Linux

Заключение

В этом руководстве мы обсудили использование команд Tmux на примерах. На этом этапе вы получите базовое представление об утилите командной строки Tmux и о том, как использовать Tmux для управления несколькими сеансами терминала. Более подробную информацию можно найти на страницах руководства.

man tmux

Утилиты GNU Screen и Tmux могут быть очень полезны при удаленном управлении серверами через SSH. Тщательно изучите команды Screen и Tmux, чтобы управлять удаленными серверами как профессионал.

Статьи по данной тематике