В этом руководстве мы рассмотрим установку и базовое использование Tmux, чтобы вы могли приступить к работе.
Что такое tmux?
Tmux - это терминальный мультиплексор, альтернатива GNU Screen. Другими словами, это означает, что вы можете запустить сеанс Tmux, а затем открыть несколько окон внутри этого сеанса. Каждое окно занимает весь экран и может быть разделено на прямоугольные панели.
С помощью Tmux вы можете легко переключаться между несколькими программами в одном терминале, отсоединять их и снова присоединять к другому терминалу.
Сессии Tmux являются постоянными, что означает, что программы, запущенные в Tmux, будут продолжать работать, даже если вы отключитесь от сети.
Все команды в Tmux начинаются с префикса, которым по умолчанию является ctrl+b.
Установка Tmux
Вы можете легко установить Tmux с помощью менеджера пакетов вашего дистрибутива.
Установка Tmux в Ubuntu и Debian
1 | sudo apt install tmux |
Установка Tmux в CentOS и Fedora
1 | sudo yum install tmux |
Установка Tmux в macOS
1 | brew install tmux |
Запуск первого сеанса Tmux
Чтобы начать первый сеанс Tmux, просто введите tmux в консоли:
1 | tmux |
Это откроет новый сеанс, создаст новое окно и запустит оболочку в этом окне.
Как только вы окажетесь в Tmux, вы заметите строку состояния в нижней части экрана, которая показывает информацию о текущем сеансе.
Теперь вы можете выполнить свою первую команду Tmux. Например, чтобы получить список всех команд, введите:
Ctrl+b ?
Создание именованных сеансов Tmux
По умолчанию сеансы Tmux имеют цифровые имена. Именованные сеансы полезны, когда вы запускаете несколько сеансов Tmux. Чтобы создать новую именованную сессию, выполните команду tmux со следующими аргументами:
1 | tmux new -s <имя_сеанса> |
Всегда полезно выбирать описательное имя сеанса.
Отсоединение от сессии Tmux
Вы можете выйти из сеанса Tmux и вернуться в свою обычную оболочку, набрав:
Ctrl+b d
Программа, запущенная в сеансе Tmux, продолжит выполняться после того, как вы отсоединитесь от сеанса.
Повторное присоединение к сеансу Tmux
Чтобы подключиться к сессии, сначала необходимо узнать ее название. Чтобы получить список текущих сессий, введите:
1 | tmux ls |
Имя сеанса - это первый столбец результата.
1 2 | 0: 1 windows (created Sat Sep 15 09:38:43 2022) [158x35] my_named_session: 1 windows (created Sat Sep 15 10:13:11 2022) [78x35] |
Как видно из вывода, есть две запущенные сессии Tmux. Первая из них имеет имя 0, а вторая - my_named_session.
Например, чтобы присоединиться к сеансу 0, введите:
1 | tmux attach-session -t 0 |
Работа с окнами и панелями Tmux
Когда вы начинаете новую сессию Tmux, по умолчанию создается одно окно с оболочкой.
Для создания нового окна с оболочкой наберите Ctrl+b c, ему будет присвоен первый доступный номер из диапазона 0...9.
Список всех окон отображается в строке состояния в нижней части экрана.
Ниже приведены некоторые наиболее распространенные команды для управления окнами и панелями Tmux:
- Ctrl+b c Создать новое окно (с оболочкой)
- Ctrl+b w Выбрать окно из списка
- Ctrl+b 0 Переключиться на окно 0 (по номеру)
- Ctrl+b , Переименовать текущее окно
- Ctrl+b % Разделить текущую панель по горизонтали на две панели
- Ctrl+b " Разделить текущую панель по вертикали на две панели
- Ctrl+b o Переход к следующей панели
- Ctrl+b ; Переключение между текущей и предыдущей панелями
- Ctrl+b x Закрыть текущую панель
Настройка Tmux
Когда Tmux запускается, он считывает свои параметры конфигурации из ~/.tmux.conf, если этот файл существует.
Вот пример конфигурации ~/.tmux.conf с настроенной строкой состояния и несколькими дополнительными опциями:
1 2 3 4 5 6 7 8 9 | # Улучшить цвета set -g default-terminal 'screen-256color' # Установите буфер прокрутки на 10000 set -g history-limit 10000 # Настройте строку состояния set -g status-fg зеленый set -g status-bg black |
Основные принципы работы с Tmux
Ниже приведены самые основные шаги для начала работы с Tmux:
- В командной строке введите tmux new -s my_session,
- Запустите нужную программу.
- Используйте последовательность клавиш Ctrl-b + d для отсоединения от сессии.
- Подключитесь к сессии Tmux, набрав tmux attach-session -t my_session.