Инструменты пользователя

Инструменты сайта


notes:linux:tmux

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

notes:linux:tmux [2024/04/01 16:30] – создано Юрийnotes:linux:tmux [2025/10/30 20:22] (текущий) – Текст обработан и дополнен Юрий
Строка 1: Строка 1:
 +[[:start|На главную]] > [[:notes:notes|Заметки]]
 +
 ====== Шпаргалка по использованию tmux ====== ====== Шпаргалка по использованию tmux ======
 +{{tag>Заметки tmux}}
 +
 +**tmux** (произносится как «ти-макс») — это терминальный мультиплексор, позволяющий управлять несколькими сессиями и панелями в одном терминальном окне.
 +
 +Основные преимущества:
 +  * Возможность разделения окна на несколько панелей (горизонтально и вертикально).
 +  * Сохранение состояния сессий при разрыве SSH-соединения: все запущенные процессы продолжают работать.
 +  * Возможность совместной работы нескольких пользователей в одной сессии.
 +
 +===== Установка и базовая настройка =====
 +
 +Установка из стандартных репозиториев Ubuntu/Debian:
 +<code bash>
 +sudo apt install tmux
 +</code>
 +
 +После установки рекомендуется включить поддержку мыши. Для этого создайте или отредактируйте файл конфигурации пользователя:
 +<code bash>
 +nano ~/.tmux.conf
 +</code>
 +Добавьте строку:
 +<code>
 +set -g mouse on
 +</code>
 +> **Примечание:** Настройка в `~/.tmux.conf` применяется только для текущего пользователя и не требует прав root. Изменение `/etc/tmux.conf` затронет всех пользователей системы.
 +
 +После изменения конфигурации перезапустите tmux или перезагрузите конфиг внутри сессии:  
 +`Ctrl + b`, затем введите `:source-file ~/.tmux.conf`.
 +
 +===== Работа с сессиями =====
 +
 +==== Создание сессии ====
 +<code bash>
 +tmux                     # Создать сессию без имени (автоматически присвоится номер, например: 0)
 +tmux new -s имя_сессии   # Создать именованную сессию
 +</code>
 +
 +Имя или номер текущей сессии отображается в статусной строке внизу слева (в квадратных скобках).
 +
 +==== Подключение к сессии ====
 +Просмотреть список активных сессий:
 +<code bash>
 +tmux ls
 +</code>
 +Пример вывода:
 +<code>
 +0: 1 windows (created Mon Aug 30 13:02:31 2021) (attached)
 +myproject: 3 windows (created Fri Oct 31 10:15:22 2025)
 +</code>
  
-Tmux (ти-макс) — это менеджер терминалов, который позволяет работать с несколькими сессиями в одном окне. То есть вместо нескольких открытых окон терминала — вы используете одно, которое можно делить на несколько окон.\\ +Подключиться к сессии
-Как побочный эффект, при работе через SSH, использование tmux позволяет сохранять состояния подключений и процессов.  +<code bash> 
-После разрыва соединения с сервером вы подключаетесь, и все запущенные программы и процессы продолжают работать. \\ +tmux attach              # Подключиться к единственной сессии (если она одна) 
-Дополнительно можно работать совместно с другими в терминале, если все подключены к одной сессии.+tmux attach -t имя_сессии  # Подключиться к конкретной сессии 
 +</code>
  
-===== Установка и настройка Tmux ===== +Универсальная команда для запуска или подключения
-Устанавливается Tmux из стандартных репозиториев Linux+<code bash> 
-<code>apt-get install tmux </code> +tmux attach || tmux new 
-После установки рекомендуем сразу отредактировать конфигурационный файл ти-макса (/etc/tmux.conf) и внести следующие изменения: +</code> 
-<code>set -g mouse on  </code> +Если активных сессий нет — создаётся новая.
-Эта строчка кода позволит свободно перемещать границы разделения окон с помощью курсора мышки.+
  
-===== Работа с Tmux =====+==== Переключение между сессиями ==== 
 +Внутри сессии нажмите:
  
-Для работы с ти-миксом используется широкий набор горячих клавиш, состоящих из базового сочетания Ctrl + b и отдельных целевых клавиш (n,p,w,b и т.д.).+**Ctrl + b, s**
  
-==== Работа с сессиями в Tmux ====  +Откроется интерактивный список сессий — выберите нужную стрелками и нажмите Enter.
-Для создания рабочей сессии без идентификатора — достаточно ввести tmux в терминале. Будет создана сессия 0: +
-Идентификатор сессии отображается внизу слева в квадратных скобках. Для создания именной сессии достаточно ввести следующую команду: +
-<code>tmux new -s название сессии </code> +
-Поскольку ти-макс завершает соединение с сохранением состояния сессии, правильным способом возобновить работу ти-макса будет его запуск командой: +
-<code>tmux attach || tmux new  </code> +
-Команда запускает проверку уже созданных сессий и если активных подключений нет — создается новое подключение.+
  
-Просмотреть список созданных сессий можно командой: +==== Отключение и завершение сессий ==== 
-<code>tmux ls </code> +  * `Ctrl + b, d` — **отключиться** от сессии (сессия продолжает работать в фоне). 
-Команда вернёт список следующего вида: +  * `tmux kill-session -t имя_сессии` — **завершить** указанную сессию. 
-<code>0: 1 windows (created Mon Aug 30 13:02:31 2021) (attached)  </code> +  * `tmux kill-server` — завершить **все** сессии и остановить сервер tmux.
-Если в списке одна сессия, то командой //tmux attach// она будет автоматически восстановлена, а если в списке несколько сессий — необходимо ввести следующую команду: +
-<code>tmux attach -t наименование сессии  </code> +
-В нашем случае сессия называется 0.+
  
-Сменить сессию можно также, находясь в другой сессии. Для этого нужно воспользоваться сочетанием клавиш //Ctrl + b, s.//+===== Управление окнами =====
  
-Выйти из сессии можно с помощью сочетания клавиш //Ctrl + b, d//. А завершить сессию командой+В tmux окно (window) — это вкладка в пределах одной сессии.
-<code>tmux kill-session -t название сессии  </code> +
-Закрыть все сессии можно командой: +
-<code>tmux kill-server </code>+
  
-==== Создание окон и переключение между ними ====+Горячие клавиши: 
 +  * `Ctrl + b, c` — создать новое окно
 +  * `Ctrl + b, n` — перейти к следующему окну. 
 +  * `Ctrl + b, p` — перейти к предыдущему окну. 
 +  * `Ctrl + b, [0–9]` — перейти к окну по номеру. 
 +  * `Ctrl + b, w` — открыть интерактивный список окон.
  
-Чтобы создать окно — применяется сочетание клавиш: //CTRL + b, а// затем //c//. Просмотреть список окон можно сочетанием — //CTRL + b, а// затем //w//. Выбор конкретного окна из списка осуществляется стрелками ↑ и ↓.+===== Управление панелями азделение окон) =====
  
-Переключиться между окнами можно с помощью следующих сочетаний клавиш:+Окно можно разделить на несколько панелей:
  
-  * Ctrl + b, — следующее окно +  * `Ctrl + b, "— разделить окно **горизонтально**. 
-  Ctrl + b, p — предыдущее окно +  * `Ctrl + b, %` — разделить окно *ертикально**.
-  * Ctrl + b, — следующее окно +
-  Ctrl + b, номер окна (цифрой ) — переключиться на нужное окно+
  
-==== Горизонтальное и вертикальное деление окон ====+Навигация между панелями
 +  * `Ctrl + b, ←/→/↑/↓` — переместиться в соседнюю панель.
  
-Сессионные окна тиакс можно разделять вертикально и горизонтальноДля горизонтального разделения окна используется сочетание клавиш //Ctrl + b, “ (Shift + ‘(э))//.+Закрытие панели: 
 +  * `Ctrl + b, x` — подтвердить закрытие текущей панели. 
 +  * Или просто введите `exit` в терминале панели.
  
-Чтобы разделить окно вертикально на две равные панели — воспользуйтесь сочетанием клавиш //Ctrl + b, %//.+> **Совет:** Панели можно вкладывать. Например: сначала разделите окно горизонтально (`"`), затем перейдите в нижнюю панель (`↓`) и разделите её вертикально (`%`) — получите три панели.
  
-Перемещаться между панелями можно с помощью сочетаний клавиш //Ctrl + b и стрелок//.+===== Сводка часто используемых команд =====
  
-Панели тоже можно разделять. Например, если нужно получить 3 панелисначала окно делится горизонтально //(Ctrl + b, “)//, затем осуществляется переход на нужную панель (//Ctrl + b, ↑ или ↓//и она делится вертикально (//Ctrl + b, %//)+==== Команды в терминале ==== 
 +  * `tmux new -s имя` — создать именованную сессию. 
 +  * `tmux ls` — список сессий. 
 +  * `tmux attach -t имя` — подключиться к сессии
 +  * `tmux kill-session -t имя` — завершить сессию. 
 +  * `tmux kill-server` — завершить все сессии.
  
-Закрыть панель (часть окна) можно с помощью сочетания клавиш //Ctrl + b, x// или командой //exit//.+==== Горячие клавиши (префикс: `Ctrl + b`) ==== 
 +| Клавиша | Действие | 
 +|---------|----------| 
 +| `c`     | Создать новое окно 
 +| `n`     | Следующее окно 
 +| `p`     | Предыдущее окно | 
 +| `[0–9]` | Перейти к окну по номеру | 
 +| `w`     | Список окон | 
 +| `"    | Горизонтальное разделение | 
 +| `%`     | Вертикальное разделение | 
 +| `←///↓` | Переключение между панелями 
 +| `x`     | Закрыть текущую панель | 
 +| `d`     | Отключиться от сессии | 
 +| `s`     | Выбор сессии из списка |
  
-==== Список часто используемых команд и горячих клавиш Tmux ====+> Префикс по умолчанию — `Ctrl + b`. Его можно изменить в `~/.tmux.conf`, если он вам неудобен.
  
-Команды для управления сессиями:+----
  
-  * tmux new [имя_сеанса] — начать новый сеанс. Имя_сеанса опционально; +[[:start|На главную]] > [[:notes:notes|Заметки]] 
-  * tmux attach -t [имя_сеанса] - подключиться к уже существующей сессии. Если имя заранее не было задано, тогда команда будет выглядить так: tmux attach -t 0; +~~DISCUSSION~~
-  * tmux ls — список открытых сессий Tmux; +
-  * kill-server — остановить все запущенные сессии; +
-  * kill-session -t [имя_сеанса— завершить сессию; +
-  * list-clients -t [имя_сеанса] — посмотреть клиентов, подключенных к сессии; +
-  * list-sessions — вывести список всех запущенных сессий. +
-==== Хоткейсы для управления окнами==== +
-  * Ctrl + b, c — создать новое окно; +
-  * Ctrl + b, w — просмотреть список окон; +
-  * Ctrl + b, n — следующее окно; +
-  * Ctrl + b, p — предыдущее окно; +
-  * Ctrl + b, w — следующее окно; +
-  * Ctrl + b, номер окна (цифрой) — переключиться на нужное окно; +
-  * Ctrl + b, “ — горизонтальное разделение окна; +
-  * Ctrl + b, % — вертикальное разделение окна.+
notes/linux/tmux.1711978206.txt.gz · Последнее изменение: 2024/04/01 16:30 — Юрий

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: GNU Free Documentation License 1.3
GNU Free Documentation License 1.3 Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki