Tmux (Terminal Multiplexer) — это современный и мощный инструмент для управления несколькими терминалами в одном окне. Его считают более гибким и функциональным аналогом утилиты Screen, которая долгие годы оставалась стандартом для работы с несколькими терминалами. В этой статье мы подробно рассмотрим, почему tmux стал популярным выбором среди пользователей, как его использовать, и приведем примеры эффективного применения.

 

1. Почему tmux выбирают вместо screen?

Screen был первым терминальным мультиплексором, но со временем его функциональность начала отставать от современных решений. Tmux предлагает следующие преимущества:

  • Гибкость: Tmux позволяет настраивать почти все аспекты работы, включая горячие клавиши и внешний вид интерфейса.
  • Поддержка мыши: В tmux можно использовать мышь для переключения между панелями, изменения их размера и выполнения других действий.
  • Модульность: Tmux поддерживает плагины и расширения, делая его более адаптируемым под потребности пользователя.
  • Активное развитие: Tmux активно разрабатывается, в отличие от screen, который обновляется гораздо реже.

2. Установка tmux

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

Для Debian/Ubuntu:

sudo apt install tmux

Для CentOS/RHEL:

sudo yum install tmux

Для Arch Linux:

sudo pacman -S tmux

Для macOS (используя Homebrew):

brew install tmux

3. Запуск tmux

Чтобы начать работу с tmux, просто введите в терминале:

tmux

После этого вы попадете в новый сеанс tmux. Внизу экрана появится строка состояния (status bar), показывающая информацию о текущем сеансе, открытых окнах и панелях.

4. Основы работы с tmux

Все команды в tmux начинаются с префикса, по умолчанию это комбинация Ctrl+b. После этого нужно нажать следующую клавишу для выполнения соответствующей команды.

Создание новой панели

  • Ctrl+b % — разделить окно вертикально.
  • Ctrl+b » — разделить окно горизонтально.

Пример:

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

Нажмите Ctrl+b «, чтобы создать горизонтальную панель.

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

  • Ctrl+b Стрелки — переключиться на соседнюю панель (вверх, вниз, влево, вправо).

Пример:

Создайте несколько панелей.

Используйте Ctrl+b Стрелки, чтобы перемещаться между ними.

 

Закрытие панели

  • Ctrl+b x — закрыть текущую панель.

Пример:

Переключитесь на панель, которую хотите закрыть.

Нажмите Ctrl+b x.

Подтвердите закрытие, нажав y.

5. Работа с окнами

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

Создание нового окна

  • Ctrl+b c — создать новое окно.

Пример:

Нажмите Ctrl+b c.

В строке состояния появится новое окно с номером и названием.

Переименование окна

  • Ctrl+b , — переименовать текущее окно.

Пример:

Нажмите Ctrl+b ,.

Введите новое имя для окна, например, Logs.

Переключение между окнами

  • Ctrl+b NUM — переключиться на окно с номером NUM (например, 0, 1, 2).
  • Ctrl+b n — переключиться на следующее окно.
  • Ctrl+b p — переключиться на предыдущее окно.

Пример:

Создайте несколько окон.

Используйте Ctrl+b 1, чтобы переключиться на первое окно.

Используйте Ctrl+b n, чтобы перейти к следующему окну.

Закрытие окна

  • Ctrl+b & — закрыть текущее окно.

Пример:

Переключитесь на окно, которое хотите закрыть.

Нажмите Ctrl+b &.

Подтвердите закрытие, нажав y.

6. Сеансы tmux

Сеансы tmux позволяют сохранять вашу работу и возвращаться к ней позже.

Создание нового сеанса

  • tmux new -s ИМЯ — создать новый сеанс с указанным именем.

Пример:

tmux new -s mysession

Отключение от сеанса

  • Ctrl+b d — отключиться от текущего сеанса.

Пример:

Нажмите Ctrl+b d.

Вы вернетесь в основной терминал, а сеанс продолжится в фоновом режиме.

 

Подключение к сеансу

  • tmux attach -t ИМЯ — подключиться к сеансу с указанным именем.

Пример:

tmux attach -t mysession

Просмотр списка сеансов

  • tmux ls — показать список всех активных сеансов.

Пример:

tmux ls

Вывод:

mysession: 1 window (created Mon Oct 10 12:00:00 2023)

Завершение сеанса

  • Внутри сеанса: закройте все окна и панели, и сеанс завершится автоматически.
  • Из терминала: используйте команду tmux kill-session -t ИМЯ.

Пример:

tmux kill-session -t mysession

7. Продвинутые функции tmux

Копирование и вставка

  • Перейдите в режим копирования: Ctrl+b [.
  • Выделите текст с помощью клавиш управления.
  • Нажмите Enter, чтобы скопировать текст.
  • Вставьте текст: Ctrl+b ].

Режим мыши

Чтобы включить поддержку мыши (переключение панелей, изменение размеров), добавьте в файл конфигурации ~/.tmux.conf строку:

set -g mouse on

Затем перезагрузите конфигурацию: Ctrl+b :, введите source-file ~/.tmux.conf.

Автозапуск tmux

Чтобы tmux автоматически запускался при открытии терминала, добавьте в ваш .bashrc или .zshrc:

if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then
    tmux attach -t default || tmux new -s default
fi

8. Пример использования tmux

Сценарий: Мониторинг и разработка

  • Создайте новый сеанс: tmux new -s work
  • Создайте несколько окон:
    • Ctrl+b c — первое окно для редактирования кода.
    • Ctrl+b c — второе окно для мониторинга логов.
    • Ctrl+b c — третье окно для выполнения команд.
  • Разделите окно на панели:
    • В окне для мониторинга нажмите Ctrl+b %, чтобы разделить его вертикально.
    • В одной панели запустите tail -f /var/log/syslog, в другой — htop.
  • Отключитесь от сеанса:Нажмите Ctrl+b d.
  • Подключитесь к сеансу позже: tmux attach -t work

Заключение

Tmux — это современный и мощный инструмент для работы с несколькими терминалами в одном окне. Он предлагает больше возможностей, чем screen, и активно развивается. Освоив tmux, вы сможете эффективно организовывать многозадачность, сохранять сеансы и автоматизировать задачи. Удачи в использовании tmux!

От root

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *