zaLinux.ru

Как пользоваться tmux для создания нескольких терминалов внутри одной консоли


Что такое tmux

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

Чтобы это делать в Linux дистрибутивах на основе GNOME и Cinnamon, вы можете установить инструмент под названием Terminator, которые предоставляет эффективный способ разделения одного окна консоли на несколько терминалов для различных задач.

Тем не менее имеются другие варианты, которые вам стоит рассмотреть. Особенно если перед вами сервер только с интерфейсом командной строки, или рабочий стол с системой окон X не может запуститься на вашем дистрибутиве.

В этой статье мы расскажем вам о tmux (сокращение для Terminal MUltipleXer), простой и современной альтернативе хорошо известной утилите GNU screen. Вы научитесь подключаться и контролировать ряд терминалов (или окон) из одного терминала. Этот инструмент будет работать как в окружении только с интерфейсом командной строки, так и внутри эмулятора терминала в дистрибутивах с графическим рабочим столом.

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

Как установить tmux (мультиплексер терминалов) в Linux

Для установки вы можете использовать вашу стандартную систему управления пакетами.

Установка в Debian, Linux Mint, Ubuntu, Kali Linux и производные:

sudo apt update && sudo apt install tmux

Установка в Arch Linux и производные:

sudo pacman -S tmux

Для CentOS/RHEL/Fedora (программа включена в базовый репозиторий):

yum update && yum install tmux

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

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

Для старта новой сессии tmux (контейнера для индивидуальных консолей, которые будут управляться в tmux) с именем dev, запустите:

tmux new -s dev

Внизу экрана вы увидите индикатор сессии, в которой вы находитесь в данный момент:

Далее вы можете:


  • разделить терминал на столько панелей, сколько вы хотите, для этого нажмите Ctrl+b, а затем нажмите " (Shift+') - это разделит по горизонтали, а сочетание клавиш Ctrl+b, затем % (Shift+5) делит по вертикале. Каждая панель представляет отдельную консоль.
  • перемещаться из одной консоли в другую кнопками Ctrl+b, после которых нужно нажать одну из курсорных клавиш ←↑→↓ для перемещения в соответствующем направлении.
  • изменить размер панели, для этого удерживайте Ctrl+b во время нажатия стрелок ←↑→↓ в направлении, в котором вы хотите передвинуть границы активной панели.
  • показать текущее время внутри активной панели, нажав Ctrl+b, а затем t.
  • закрыть панель, поместив курсор внутри панели, которые вы хотите удалить, и нажав Ctrl+b, а затем x. Вам будет задан запрос на подтверждение этой операции.
  • отсоединить от текущей сессии (это вернёт в обычный терминал) для этого нажмите Ctrl+b, а затем d.
  • создать новую сессию с именем, допустим, admin:
tmux new -s admin
  • отсоединиться от сессии с именем admin
  • повторно подсоединиться к сессии dev набрав:
tmux attach -t dev
  • опять переключиться на admin командой:
tmux switch -t admin

Всё сказанное выше продемонстрировано в видео по tmux:

Помните, когда в сессии tmux не остаётся больше панелей, эта сессия закрывается.

Изменение привязки кнопок терминала tmux

В tmux комбинации кнопок, используемые для выполнения определённых действий, называются привязанными клавишами (key bindings). По умолчанию сочетания клавиш состоят из комбинации кнопки Ctrl и другой (других) кнопки(кнопок) — примеры показаны выше.

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


1) на уровне пользователя (создав файл с именем .tmux.conf внутри домашней директории каждого пользователя — не пропустите начальную точку в имени файла), или

2) на уровне системы (посредством файла /etc/tmux.conf, который по умолчанию отсутствует).

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

Например, давайте предположим, что вы хотите использовать Alt+a вместо Ctrl+b, тогда нужно следующее содержимое в одном из упомянутых ранее файлах:

unbind C-b
set -g prefix M-a

После сохранения изменений, перезапустите tmux. Вы сможете использовать соответственно Alt+a и ", а также Alt+a и t для разделения окна по горизонтали и показа текущего времени внутри активной панели.

Страница man пакета tmux имеет дополнительные подробности и предложения для привязки кнопок в соответствии с вашими предпочтениями.

Заключение

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

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

Ссылка: https://tmux.github.io/


Рекомендуемые статьи:

Оставить комментарий

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