Как выйти из tmux
Перейти к содержимому

Как выйти из tmux

  • автор:

Краткая шпаргалка по tmux (менеджеру терминалов)

tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen , только лучше (в первую очередь потому, что использует модель клиент—сервер).

image

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

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

После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)

В одной сессии может быть сколько угодно окошек:
Ctrl+b c — создать окошко;
Ctrl+b 0. 9 — перейти в такое-то окошко;
Ctrl+b p — перейти в предыдущее окошко;
Ctrl+b n — перейти в следующее окошко;
Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее);
Ctrl+b & — закрыть окошко (а можно просто набрать exit в терминале).

В одном окошке может быть много панелей:
Ctrl+b % — разделить текущую панель на две, по вертикали;
Ctrl+b « — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);
Ctrl+b →←↑↓ — переходить между панелями;
Ctrl+b x — закрыть панель (а можно просто набрать exit в терминале).

Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp — вход в «режим копирования», после чего:
PgUp, PgDown — скроллинг;
q — выход из «режима копирования».

Подключение и отключение от сессии в tmux

Tmux (Terminal Multiplexer) — свободное и открытое программное обеспечение, которое позволяет вам открыть несколько окон терминала в одной консоли. Это позволяет пользователям одновременно запускать несколько команд в различных окнах терминала в рамках одной сессии, а также свободно перемещаться между окнами и настраивать их размеры и расположение. Tmux позволяет работать с терминалом более эффективно, делая его более гибким и удобным в использовании.

Что такое сессия tmux?

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

Он может быть использован как в локальной сети, так и через удаленный доступ, позволяя администраторам sysadmin’ам управлять сетью и серверами более эффективно и безопасно. Tmux доступен для многих Unix-подобных операционных систем, включая Linux, macOS и FreeBSD.

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

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

Как подключиться к сессии?

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

где « — это имя сессии, к которой вы хотите подключиться.

Как отключиться от сессии?

Чтобы отключиться от сессии tmux и оставить ее запущенной в фоновом режиме, выполните следующую комбинацию клавиш:

Эта команда переместит вас из сессии tmux в оболочку, а tmux останется запущенным в фоновом режиме.

Если же вы хотите завершить сессию tmux полностью, нажмите `CTRL + b` затем введите команду `:kill-session`. Таким образом, вы завершите все окна и панели, связанные с этой сессией Tmux.

Как закрыть все окна сессии tmux, не выходя из него

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

NordeN
11.07.21 11:49:32 MSK

ЯННП, но может быть, именованные сессии:

tmux kill-session -t session_name 
tmux attach -t prev_session_name 

vvn_black ★★★★★
( 11.07.21 12:20:49 MSK )
Последнее исправление: vvn_black 11.07.21 12:21:50 MSK (всего исправлений: 1)

Ответ на: комментарий от vvn_black 11.07.21 12:20:49 MSK

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

NordeN
( 11.07.21 12:33:34 MSK ) автор топика
Ответ на: комментарий от NordeN 11.07.21 12:33:34 MSK

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

Legioner ★★★★★
( 11.07.21 14:48:14 MSK )
Последнее исправление: Legioner 11.07.21 14:48:42 MSK (всего исправлений: 1)

Шпаргалка по Tmux: установка, настройка, работа.

Консультация по продукту 1cloud

Tmux (ти-макс) — это менеджер терминалов, который позволяет работать с несколькими сессиями в одном окне. То есть вместо нескольких открытых окон терминала — вы используете одно, которое можно делить на несколько окон. Киллер фича ти-макса — сохранение состояний подключений и процессов. После разрыва соединения с сервером вы подключаетесь, и все запущенные программы и процессы продолжают работать. Дополнительно можно работать совместно с другими в терминале, если все подключены к одной сессии.

Установка и настройка Tmux

Устанавливается Tmux из стандартных репозиториев Linux: apt-get install tmux После установки рекомендуем сразу отредактировать конфигурационный файл ти-макса (/etc/tmux.conf) и внести следующие изменения: set -g mouse on Эта строчка кода позволит свободно перемещать границы разделения окон с помощью курсора мышки.

Работа с Tmux

Для работы с ти-миксом используется широкий набор горячих клавиш, состоящих из базового сочетания Ctrl + b и отдельных целевых клавиш (n,p,w,b и т.д.).

Работа с сессиями в Tmux

Для создания рабочей сессии без идентификатора — достаточно ввести tmux в терминале. Будет создана сессия 0: Идентификатор сессии отображается внизу слева в квадратных скобках. Для создания именной сессии достаточно ввести следующую команду: tmux new -s название сессии Поскольку ти-макс завершает соединение с сохранением состояния сессии, правильным способом возобновить работу ти-макса будет его запуск командой: tmux attach || tmux new Команда запускает проверку уже созданных сессий и если активных подключений нет — создается новое подключение. Просмотреть список созданных сессий можно командой: tmux ls Команда вернёт список следующего вида: 0: 1 windows (created Mon Aug 30 13:02:31 2021) (attached) Если в списке одна сессия, то командой tmux attach она будет автоматически восстановлена, а если в списке несколько сессий — необходимо ввести следующую команду: tmux attach -t наименование сессии В нашем случае сессия называется 0. Сменить сессию можно также, находясь в другой сессии. Для этого нужно воспользоваться сочетанием клавиш Ctrl + b , s . Выйти из сессии можно с помощью сочетания клавиш Ctrl + b , d . А завершить сессию командой: tmux kill-session -t название сессии Закрыть все сессии можно командой: tmux kill-server

Создание окон и переключение между ними

  • Ctrl + b , n — следующее окно
  • Ctrl + b , p — предыдущее окно
  • Ctrl + b , w — следующее окно
  • Ctrl + b , номер окна (цифрой ) — переключиться на нужное окно

Горизонтальное и вертикальное деление окон

Сессионные окна ти-макс можно разделять вертикально и горизонтально. Для горизонтального разделения окна используется сочетание клавиш Ctrl + b , “ ( Shift + ‘ (э)).

Чтобы разделить окно вертикально на две равные панели — воспользуйтесь сочетанием клавиш Ctrl + b , % .

Перемещаться между панелями можно с помощью сочетаний клавиш Ctrl + b и стрелок.

Панели тоже можно разделять. Например, если нужно получить 3 панели, сначала окно делится горизонтально ( Ctrl + b , “ ), затем осуществляется переход на нужную панель ( Ctrl + b , ↑ или ↓ ) и она делится вертикально ( Ctrl + b , % ). Получаем следующую рабочую зону:

Закрыть панель (часть окна) можно с помощью сочетания клавиш Ctrl + b , x или командой exit.

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

Список часто используемых команд и хоткейсов Tmux

Команды для управления сессиями:

  • tmux new [имя_сеанса] — начать новый сеанс. Имя_сеанса опционально;
  • tmux attach -t [имя_сеанса] — подключиться к уже существующей сессии. Если имя заранее не было задано, тогда команда будет выглядить так: tmux attach -t 0 ;
  • 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 , % — вертикальное разделение окна.

С уверенностью можно сказать, что ти-макс — это простая и мощная консольная утилита, позволяющая полностью настроить под себя рабочие пространство в терминале. Сила ти-макса в его гибкости и сочетании с другими консольными утилитами, например: VIM, Htop, Tree.

Поделиться в соцсетях:

Средняя оценка: 5,0, всего оценок: 10 Спасибо за Вашу оценку! К сожалению, проголосовать не получилось. Попробуйте позже

Добавить комментарий

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