Главная >> Инструкции >> Шпаргалка по tmux

Шпаргалка по tmux

Tmux - это терминальный мультиплексор или иными словами, вы можете в одном терминале запустить несколько терминальных сессий и переключаться между ними или даже разместить их в одном окне, а также отключиться от сессии оставив её работать в фоне, а затем вернуться и посмотреть результат, это может быть очень удобно при работе по SSH. Если вы раньше пользовались утилитой screen, то tmux - это её аналог, который имеет намного больше функций.

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


Содержание статьи

Установка Tmux

Здесь все просто. Для установки программы в Ubuntu выполните следующую команду:

sudo apt install tmux

А для установки в CentOS:

sudo yum install tmux

Синтаксис и опции команды Tmux

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

tmux команда опции

Что касается опций, то в большинстве вам придется использовать только две - это -t (target) - которая указывает цель, к которой будет применяться команда, например, идентификатор сессии или подключенного клиента, а также -s (session) - который обычно используется для обозначения источника, над которым будет выполняться действие.

Команды tmux для управления сессиями, которые вы можете использовать:

  • attach-session (attach) - подключиться к уже существующей сессии. В параметре необходимо передать опцию -t и идентификатор сессии;
  • detach-session (detach) - отключить всех клиентов (или переданного с помощью опции -t) от сессии, переданной в опции -s;
  • has-session - проверить существует ли сессия, аналогично, надо передать идентификатор сессии;
  • kill-server - остановить все запущенные сессии;
  • kill-session - завершить сессию переданную в параметре -t;
  • list-clients - посмотреть клиентов, подключенных к сессии -t;
  • list-sessions (ls) - вывести список всех запущенных сессий;
  • new-session - создать новую сессию, можно передать имя сессии в опции -s и стартовую директорию в опции -c;
  • rename-session - переименовать сессию, нужно передать идентификатор сессии и новое имя;

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

По умолчанию для активации сочетания клавиш нужно нажать Ctrl+B, отпустить, а потом нажать нужную клавишу. Вот основные сочетания клавиш tmux, которые вам понадобятся:

  • Ctrl+b c - создать новое окно;
  • Ctrl+b w - выбрать окно из списка;
  • Ctrl+b 0-9 - открыть окно по его номеру;
  • Ctrl+b , - переименовать текущее окно;
  • Ctrl+b % - разделить текущую панель по горизонтали;
  • Ctrl+b " - разделить текущую панель по вертикали;
  • Ctrl+b стрелка - перейти на панель, находящуюся в стороне, куда указывает стрелка;
  • Ctrl+b Ctrl+стрелка - изменить размер текущей панели;
  • Ctrl+b o - перейти на следующую панель;
  • Ctrl+b ; - переключаться между текущей и предыдущей панелью;
  • Ctrl+b x - закрыть текущую панель;
  • Ctrl+b [ - войти в режим копирования (подробнее ниже);
  • Ctrl+b ] - вставить из внутреннего буфера обмена tmux;
  • Ctrl+b d - отключится от текущей сессии;
  • Ctrl+b : - открыть командную строку.

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

Как пользоваться tmux

1. Создание сессии

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

tmux

Также можно создать сессию командой new-session и задать ей удобное имя:

tmux new-session -s losst

2. Разделение окна на панели

Окно сессии можно разделить на несколько панелей. Чтобы выполнить разделение по горизонтали нажмите Ctrl+b отпустите, а затем нажмите Shift+":

Аналогично можно разделить панель по вертикали, нажав Ctrl+b, а затем Shift+%:

Размер активной панели можно менять нажав Ctrl+b, а потом Ctrl и стрелка:

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

3. Поддержка мышки

По умолчанию поддержка мышки отключена, но если вы работаете в графическом окружении, вы можете её включить. Это даст несколько преимуществ: вы сможете выбирать активную панель мышкой, копировать текст во внутренний буфер обмена, менять размер панелей, использовать прокрутку для просмотра истории вывода и так далее. Для этого откройте файл ~/.tmux.conf и добавьте туда следующие строки:

vi ~/.tmux.conf

set-option -g -q mouse on bind-key -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M" bind-key -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"

Сохраните изменения, нажмите Ctrl+b :, а потом выполните такую команду чтобы перезагрузить tmux:

source ~/.tmux.conf

Настройка tmux завершена, теперь мышь будет работать.

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

Одна из достаточно важных операций при работе с терминалом - это возможность что-то скопировать и куда-то перенести. После активации поддержки мышки вы можете просто выделить участок текста мышкой и он автоматически скопируется во внутренний буфер tmux.

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

Кроме того, в tmux есть управление копированием и вставкой с помощью клавиш. Для перехода в режим копирования нажмите Ctrl+B [, затем переместите курсор к нужному месту с помощью стрелок. Кстати, этот режим можно использовать также для прокрутки. Потом нажмите Ctrl+пробел для начала выделения, выделите нужный фрагмент стрелками и нажмите Ctrl+w для копирования.

Чтобы вставить текст из внутреннего буфера обмена нужно нажать сочетание клавиш Ctrl+b ]. Для выхода из режима копирования используйте q или Esc.

5. Окна tmux

Кроме панелей в tmux можно открывать окна. Это аналог рабочих столов в Linux. Каждое окно привязано к определенной цифровой кнопке и имеет свой набор панелей. Для создания нового окна нажмите Ctrl+b c:

Список окон выводится внизу окна терминала. Для переключения на нужное окно нажмите Ctrl+b и номер окна.

6. Отключение от сессии

Чтобы отключиться от текущей сессии достаточно нажать сочетание клавиш Ctrl+b d.

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

7. Подключение к сессии

Посмотреть список сессий можно командой ls:

tmux ls

А для подключения используйте attach:

tmux attach -t losst

Ещё можно посмотреть список клиентов, подключенных к сессии:

tmux list-clients

Выводы

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

Pеклама
Посмотреть детали

Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали

14 комментариев к “Шпаргалка по tmux”

  1. Приветствую. В статье разделение окна по вертикали и по горизонтали сначала приводится в bind-списке, а чуть дальше даются примеры использования. Так вот, в примерах комбинации сплитирования для горизонтали и вертикали не совпадают с bind-списком.

    Ответить
    • Почему же, совпадают. Чтобы получить " и % нужно нажать Shift в английской раскладке. Это для таких же как я, которые в первый раз нажимают 5, вместо % и ничего не работает.

      Ответить
      • Я о другом. В одном месте в статье написано, что % - это для разделения по вертикали, а в другом месте уже указано, что % - это для разделения по горизонтали. Та же проблема и для символа ".

        Ответить
  2. Приветствую. В статье в bind-списке дано:
    Ctrl+b % - разделить текущую панель по горизонтали;
    Ctrl+b " - разделить текущую панель по вертикали.

    А из примеров, приведенных ниже списка, следует, что:
    Shift+" - сплит по горизонтал;
    Shift+% - сплит по вертикали.

    Ответить
  3. чтобы мышь работала в обычном режиме, поместите следующие строки в файл ~/.profile

    if [ $TERM = "screen" ]; then
    export TERM=xterm
    fi
    if [ -n "$TMUX" ]; then
    export COLORTERM=rxvt
    fi

    и желательно добавить в ~/.tmux.conf
    следующую строку.

    setw -g xterm-keys on

    если этого не сделать то сочетание shift-стрелки, shift-Fx работать не будут…

    Ответить
  4. Изменение размера панели не
    Ctrl+b Ctrl+стрелка - изменить размер текущей панели, а
    Ctrl+b Alt+стрелка - изменить размер текущей панели

    Ответить
    • вы злой человек, это вообще что-то другое. У меня так открывается новый экран с логином. А изменить размер панелей с контрол также не могу

      Ответить
  5. Ranger не могу настроить в tmux. Он там черный какой-то и ничего не видно.
    Превьюшка файлов тоже не работает.

    Ответить

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