====== Шпаргалка по использованию tmux ====== Tmux (ти-макс) — это менеджер терминалов, который позволяет работать с несколькими сессиями в одном окне. То есть вместо нескольких открытых окон терминала — вы используете одно, которое можно делить на несколько окон.\\ Как побочный эффект, при работе через SSH, использование 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, а// затем //c//. Просмотреть список окон можно сочетанием — //CTRL + b, а// затем //w//. Выбор конкретного окна из списка осуществляется стрелками ↑ и ↓. Переключиться между окнами можно с помощью следующих сочетаний клавиш: * 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 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, % — вертикальное разделение окна.