Шпаргалка по утилите tmux в Linux: как установить, как выйти, горячие клавиши

Шпаргалка по утилите tmux в Linux: как установить, как выйти, горячие клавиши

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

Что такое tmux

Linux tmux — это терминальный мультиплексор, программа, которая работает следующим образом: на одном терминале можно создать несколько дополнительных terminals или окон, и работать в них одновременно. Панелей может быть сколько угодно много, и их можно использовать все сразу. Кроме tmux есть и другие известные мультиплексоры, например, GNU Screen, dvtm, splitvt, TD/SMP и Twin.

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

Утилита tmux на дисплее
Внешний вид экрана при использовании утилиты tmux

Tmux — хороший инструмент, если нужны, например, несколько программ с одним подключением или если для работы необходимо подключиться удалённо через Secure Shell. Наша простая инструкция поможет вам освоить tmux на Linux: горячие клавиши tmux, списки команд, как подключить компьютерную периферию, настроить другие полезные конфигурации, а также какие нужны библиотеки. 

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

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

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

Установка Tmux (install)

Конкретные команды, как инсталлировать tmux, можно найти в документации той или иной платформы. Чтобы установить конфигурации, нужны две библиотеки: 

  1. libevent.org,
  2. ncurses.

Конфигурационные файлы

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

Подключить девайс можно в файле:

~/.tmux.conf

Мышь можно по-разному использовать в работе с терминалом: копировать и переносить информацию, которая сохраняется во внутреннем буфере терминального мультиплексора. Чтобы скопированная информация попала в системный буфер обмена, необходимо удерживать клавишу Shift при выполнении операции копирования.

Дополнительные опции при конфигурации

Также можно настроить дополнительные опции при конфигурации: статистическую сборку, инсталлировать отладочные файлы, применять данные библиотек и другие. Разберём, как на tmux настроить несколько других опций, полезных в работе.

Наберите в терминале команду:

-enable-static

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

Затем:

-enable-utempter

Эта опция включает использование библиотеки utempter, которая используется для записи информации в файл /var/run/utmp. Это позволяет отслеживать сеансы пользователей. Например, это может быть полезно для системных администраторов, чтобы видеть, кто подключен к системе.
Если эта опция не используется, информация о сессиях tmux может быть недоступна в стандартных системных утилитах (например, w или who).

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

-enable-debug

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

Для библиотеки utf8proc:

-enable-utf8proc

Включает использование библиотеки utf8proc, которая предоставляет поддержку обработки UTF-8. Это важно, если вы хотите, чтобы tmux корректно отображал и обрабатывал текст в кодировке UTF-8, который используется для работы с многоязычными символами. Например, если вы работаете с терминалом, в котором выводятся тексты на разных языках или сложные символы (эмодзи, специальные символы), эта библиотека помогает обеспечить их правильное отображение.

Эти опции позволяют настроить tmux для:

  • максимальной производительности и переносимости (-enable-static);
  • совместимости с системными утилитами (-enable-utempter);
  • отладки проблем или разработок на базе tmux (-enable-debug);
  • работы с многоязычными текстами или Unicode (-enable-utf8proc).

Аренда VPS/VDS от AdminVPS с опцией  «Всё включено» избавит вас от необходимости администрировать сервер. Все заботы возьмут о нём на себя технические специалисты провайдера. Оцените преимущества:

  • бесплатное администрирование,
  • быстрые NVMe-диски,
  • качественную и быструю техподдержку,
  • защиту от DDoS-атак,
  • доступную цену.

Как запустить терминальный мультиплексор

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

tmux attach || tmux new 

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

Как работать с окнами

Мультиплексор даёт два режима работы с окнами. Изначально вы подключаетесь к терминалу, где есть одно окно. Если мод предполагает копирование, можно скопировать окно в буфер обмена.

Команда (после ‘[’):

copy-mode

Как узнать все полезные ключи:

list-keys

После этого будет предоставлен список ключей (индикатор отображается в правом верхнем углу).

В моде копирования в команду send-keys надо отправлять -X. После нажатия ключа мод автоматически использует список с  ключами в зависимости от mode-keys.

Команды для модов, которые предполагают копирование.

1. Для emacs:

copy-mode

2. Для vi:

copy-mode-vi

Расскажем подробнее о работе с окнами и о commands, которые для этого нужны. 

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

Split-window разрезает окно на два.

Окна можно делить по горизонтали с командой -h или по вертикали.

Resize-pane — встроенная команда в tmux, которая изменяет размеры текущей активной панели. Она позволяет вручную подстраивать размеры окон внутри одной сессии tmux. Это особенно полезно, если вы хотите больше пространства для одной из панелей при работе с несколькими окнами.

Возможна и совместная работа с окнами, например, у коллег.

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

Команды для работы с панелями. Выбрать панель:

select-pane

Поменять панели:

rotate-window
swap-pane

Мы описали самые нужные команды для работы с окнами, теперь перейдём к работе с сессиями. 

Как работать с сессиями 

Изначально утилита открывает сессию с номером 0. Номер сессии показан в нижнем левом углу в скобках. Если нужно задать какое-то конкретное словесное описание сессии, то применяем команду:

tmux new-s + название сессии

Если представить управление мультиплексором по схеме, то логика такая:

tmux commands + опции

Это верно и для работы с сессиями. Основных опций две:

-t (target)

Буквально, это цель, для которой используются commands

После нажатия этих горячих клавиш tmux видно сессию и её опознавательные признаки. Если набрать:

-s

где s — session, то находим нужную сессию.

tmux ls

Даёт перечень существующих. 

Tmux attach -t + как называется сессия

Это поможет, если необходимо найти конкретную сессию по названию. 

Горячие клавиши tmux Ctrl+b, s — переход из одной сессии в другую. 

Чтобы выйти из tmux сессии: Ctrl-b, d.

Переходим к работе с окнами, сессиями и скроллингу.

Команды для работы с окнами

Горячие клавиши tmux Ctrl+b, s — это инструменты не только для сессий, но и для окон.

Ctrl+b, w и стрелки вверх и вниз — общий перечень. 

Ctrl+b, c — новое, Ctrl+b, n — ещё одно, Ctrl+b, p — более ранее. Ctrl+b + порядковый номер 0-9 помогает найти нужный номер. Ctrl+b, l — возврат туда, где вы работали только что.

Ctrl+b, x или exit — завершаем действия с окном.

Каждое окно можно разделить на несколько.

Горячие клавиши: 

  • Ctrl+b+% — разделить на два окна по вертикали.
  • Ctrl+b+" — на два окна по горизонтали.
  • Ctrl+b+→←↑↓ — стрелки дают возможность двигаться между окнами.

Список commands Tmux по сессиям

  1. Tmux new [название сессия буквами]  — новая сессия.
  2. Tmux attach [название конкретной сессии]  — использовать уже начатую сессию.
  3. Если у сессии названия нет, то применяем Tmux attach -t и порядковый номер сессии цифрой.
  4. Tmux ls — все работающие сессии.
  5. Kill-server — завершить все сессии сразу.
  6. Kill-session -t  [название конкретной сессии]  — как найти нужную.
  7. List-clients -t  [название конкретной сессии]  — перечень участников.
  8. List-sessions —  все действующие.
  9. Detach-session — закрыть доступ для всех участников.
  10. Has-session — проверить, существует ли нужная сессия.
  11. New session — новая сессия.
  12. Rename-session — переименовать.

Сочетания клавиш для прокрутки

Горячие клавиши для перемещения по окнам:

  • Ctrl+b PgUp — появляется возможность копировать текст,
  • PgUp, PgDown — скроллинг,
  • q — выход.

Теперь вы знаете, как использовать утилиту tmux в Linux.

Читайте в блоге:

Loading spinner
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Что будем искать? Например,VPS-сервер

Мы в социальных сетях