Використання можливостей tmux у Linux та macOS: посібник з tmux
09:45, 08.01.2024
Tmux - це інструмент, який багато користувачів вважають надзвичайно корисним, коли йдеться про запуск програм на сервері. Tmux - це інструмент мультиплексора. Він дозволяє запускати та керувати кількома терміналами з одного терміналу.
Крім того, програма запобігає випадковому відключенню програм, оскільки вони не підключені безпосередньо до головного терміналу.
При цьому tmux працює досить швидко і стабільно, що робить його надзвичайно корисним. Щодо основних принципів користування, ми детально заглибимось в цю тему у данiй статті.
Переваг tmux
Tmux має низку можливостей, якими ви можете скористатися для ефективного керування вашим серверним середовищем Linux. Серед них:
Багатозадачність: За допомогою Tmux ви можете одночасно запускати декілька програм в одному терміналі. Tmux дозволяє розділити термінал на декілька окремих терміналів, при цьому програми можуть працювати у фоновому режимі.
Сценарії та автоматизація: Tmux відкриває багатий функціонал з можливістю написання сценаріїв та автоматизації різноманітних операцій.
Конфігурованість: Tmux пропонує дуже гнучку конфігурацію, щоб ви могли узгодити функціональність програми з дуже різними запитами.
Сеанси, вікна та панелі: Tmux пропонує досить гнучкий, інтуїтивно зрозумілий та логічний ієрархічний інтерфейс. Сеанс складається з вікон, вікно складається з панелей.
Плагіни: Окрім основної функціональності Tmux, його можна багато в чому збагатити за допомогою зовнішніх плагінів.
Продуктивність: Керування десятками сесій з одного вікна може знайти десятки застосувань для проектів усіх типів.
Ефективне управління сесіями: З tmux ви можете вільно від'єднувати і знову приєднуватися до сесій в будь-який момент, не втрачаючи при цьому жодного прогресу.
Віддалений доступ: До сеансів tmux можна отримати доступ і ділитися ними на віддалених серверах або різних комп'ютерах, що робить його корисним інструментом для віддаленої співпраці та моніторингу.
Спільна робота: За допомогою tmux ви можете реалізувати різні підходи до спільної роботи, наприклад, парне програмування.
Посібник зі встановлення tmux для Linux та macOS
У наступних розділах ми розглянемо встановлення tmux на різних системах, а також різні команди, які можуть бути дуже корисними під час використання рішення.
Встановлення на Linux на основі Debian (наприклад, Ubuntu)
Щоб встановити tmux на Debian, а також на Ubuntu, введіть наступну команду:
sudo apt update && sudo apt install tmux
Встановлення на Linux на основі RHEL (наприклад, Fedora і CentOS)
Використовуючи Fedora, CentOS та будь-який інший дистрибутив на основі RHEL, вам доведеться скористатися:
У CentOS і RHEL 7:
sudo yum -y install tmux
На RHEL 8, а також Fedora, Rocky та AlmaLinux:
sudo dnf -y install tmux
Встановлення на Linux на основі Arch (наприклад, EndeavourOS)
Для Arch Linux та інших дистрибутивів, заснованих на ньому, вам слід виконати
sudo pacman -S tmux
Встановлення на Alpine Linux
Щоб встановити tmux на Alpine Linux:
sudo apk add tmux
Встановлення на macOS
Одним з можливих варіантів встановлення tmux на macOS є використання Homebrew.
Спочатку встановіть Xcode:
xcode-select --install
Далі встановіть Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Після встановлення Homebrew можна використовувати для встановлення tmux:
brew install tmux
Після завершення процесу перевірте встановлення:
$ tmux -V
tmux 3.3a
Ознайомлення з tmux на дистрибутивах Linux (Ubuntu, Fedora, CentOS, EndeavourOS)
Тепер, коли tmux встановлено на будь-яку ОС, яку ви використовуєте, настав час ознайомитися з деякими основними командами та комбінаціями клавіш, які стануть у нагоді будь-якому користувачеві tmux:
Команди | Функція |
tmux | Новий сеанс |
tmux new -s <name> | Новий сеанс з <ім'ям> на ваш вибір |
tmux ls | Список сесій |
tmux a tmux at tmux attach tmux attach-session | Приєднати до останньої використаної |
tmux a -t <name> tmux attach -t <name> | Приєднатися до сеансу <ім'я> |
tmux kill-session -t <name> | Завершити сеанс <ім'я> |
tmux kill-session -a | Завершити/видалити всі сеанси, окрім поточного |
tmux kill-session -a -t <name> | Завершити/видалити всі сеанси, окрім сеансу <ім'я> |
Команди Windows/Pane | Функція |
tmux new -s mysession -n mywindow | Почати новий сеанс з іменем mysession і вікном mywindow |
Ctrl+b ( | Перехід до попереднього сеансу |
Ctrl+b ) | Перехід до наступного сеансу |
Ctrl+b & | Закрити поточне вікно |
Ctrl+b p | Попереднє вікно |
Ctrl+b n | Наступне вікно |
swap-window -t -1 | Перемістити поточне вікно на одну позицію вліво |
Навігація прив'язками клавіш
Тепер давайте розглянемо деякі з основних комбінацій клавіш tmux для керування сеансами та вікнами:
Комбінація клавіш | Функція |
Ctrl+b ? | Перерахувати всі комбінації клавіш |
Ctrl-b d | Від'єднатися від поточного сеансу |
Ctrl+b % | Додати нову панель праворуч/розділити по вертикалі |
Ctrl+b “ | Додати нову панель знизу/розділити панель по горизонталі |
Ctrl+b { | Перемістити поточну панель ліворуч |
Ctrl+b } | Перемістити поточну панель праворуч |
Ctrl+b o | Перехід до наступної панелі |
Ctrl+b ; | Перехід між поточною та попередньою панелями |
Ctrl+b >/< | Перехід між панелями |
Ctrl+b x | Закрити поточну панель |
Ctrl+b z | Перемикання масштабу панелі |
Ctrl-b c | Створити нове вікно |
Ctrl-b w | Перемикання між сеансами та вікнами |
Використання можливостей команд tmux
Використання команд у tmux ідентичне до звичайного використання команд у дистрибутивах Linux. Давайте подивимося, як це робиться в Ubuntu.
Спочатку запустіть tmux за допомогою команди tmux. Це запустить сервер tmux, відкриє сеанс #0 у тому ж вікні і приєднається до нього.
Потім вам може знадобитися від'єднатися від сесії. Натисніть Ctrl+b, потім d. Щоб приєднатися ще раз, скористайтеся командою tmux attach -t <ім'я>.
Щоб розпочати сеанс з певною назвою, введіть tmux new -s <назва>. Щоб переглянути список сеансів, застосуйте ls.
Видалити сеанс можна за допомогою tmux kill-session -t <назва>. Використовуйте або назву сеансу, або його індекс.
Щоб створити декілька панелей одночасно, використовуйте Ctrl+b %.
Якщо ви хочете, щоб були показані всі запущені на даний момент сеанси, використовуйте tmux ls.
Після від'єднання від сеансу ви можете знову приєднатися до нього за допомогою команд tmux a, tmux at, tmux attach або tmux attach-session.
Ви також можете перемикатися між наступним і попереднім сеансом за допомогою команди Ctrl+b.
Інший спосіб використання цієї команди - додати після неї %, що призведе до горизонтального розділення панелі. Натомість, для вертикального розділення додайте " після комбінації клавіш. Додавання } зсуне панель праворуч, а { - ліворуч відповідно.
Командний режим
Командний режим - це режим, який дозволить вам працювати з сеансами tmux, вікнами, а також панелями. Щоб увійти до нього, додайте двокрапку [:] після команди Ctrl+b. У нижній частині екрана буде відкрито командний рядок. Після цього ви зможете використовувати різноманітні команди для керування інтерфейсом.
tmux new -n mywindow - типова команда для створення нового вікна. Однак у командному режимі достатньо набрати new -n mywindow. Ви завжди можете переключитися у командний режим, щоб полегшити виконання команд.
Командний режим можна використовувати для синхронізації вкладок, тобто для того, щоб вони виконували однакові завдання одночасно. Щоб увійти до нього, введіть у командному режимі setw synchronize-panes. Після цього команду, введену у командному рядку поточної вкладки, буде застосовано до всіх вкладок.
Якщо ви не пам'ятаєте деякі комбінації клавіш, ви також можете оновити список за допомогою Ctrl+b з додаванням ? після комбінації клавіш.
Висновок
Tmux - це багатофункціональний інструмент, який дозволяє запускати декілька терміналів з одного вікна, що може бути корисним у різних сценаріях. У наведеній вище статті ми розповіли про те, як встановити і використовувати цей інструмент. Тепер ви зможете виконувати різноманітні операції за допомогою цього інструменту. Якщо ви щось забули, не соромтеся повернутися до цієї статті і переглянути список рекомендацій.