- Краткая шпаргалка по tmux (менеджеру терминалов)
- Шпаргалка по работе с Tmux (терминальный мультиплексор)
- 1. Установка
- 2. Конфигурационные файлы
- 3. Работа с Tmux
- Начало работы с Tmux
- Что такое tmux?
- Установка Tmux
- Установка Tmux в Ubuntu и Debian
- Установка Tmux на CentOS и Fedora
- Установка Tmux на macOS
- Начало вашей первой сессии Tmux
- Создание именованных сеансов Tmux
- Отключение от сеанса Tmux
- Повторное подключение к сеансу Tmux
- Работа с окнами и панелями Tmux
- Настройка Tmux
- Базовое использование Tmux
- Выводы
- Обзор терминальных мультиплексоров: tmux и dvtm
- Рекомендации по настройке
- Сравнительная таблица команд и клавиатурных комбинаций
- Управление сессиями
- Управление окнами
Краткая шпаргалка по tmux (менеджеру терминалов)
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen , только лучше (в первую очередь потому, что использует модель клиент—сервер).
Вашему вниманию предлагается минималистическая шпаргалка, позволяющая быстро начать использовать 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 (ти-макс) упоминался неоднократно, тем не менее, решил написать еще одну шпаргалку, т.к. в других некоторые важные моменты не показаны.
Tmux (терминальный мультиплексор) позволяет работать с несколькими сессиями в 1 окне. Вместо нескольких окон терминала к серверу — вы можете использовать одно. Позволяет подключаться/отключаться к текущему состоянию сессии. Запущенные программы и процессы продолжают работать. (Можно использовать вместо nohup, dtach).
Например, на работе правим файлы в Vim. Окно терминала с открытыми файлами, процессами. Отключаемся от сессии. Далее подключаемся к этой сессии из дома и получаем те же окна с открытыми файлами в Vim, процессами и т.д. Можно продолжить работу с того же момента, на котором остановились. Также удобно при разрыве связи. Дополнительно можно работать совместно с другими в терминале, если подключены к одной сессии. Каждый видит, что делает другой.
1. Установка
2. Конфигурационные файлы
С версии 2.1 для включения режима мыши (скролл, изменение размера панели, выбор панели и др.) нужно добавить в tmux.conf:
3. Работа с Tmux
Старт
# tmux //без параметров будет создана сессия 0
# tmux new -s session1 //новая сессия session1. Название отображается снизу-слева в квадратных скобках в статус строке. Далее идет перечисление окон. Текущее окно помечается звездочкой.
Префикс (с него начинаются команды)
(CTRL + b)
Новое окно (нажать CTRL+b, затем нажать с)
Список окон
// переключиться курсором вверх-вниз
Переключение
// следующее окно
// предыдущее окно
// переключиться на номер окна
Окна можно делить на панели (Panes)
Как в тайловых (мозаичных) оконных менеджерах.
Деление окна горизонтально
либо команда
# tmux split-window -h
Деление окна вертикально
либо команда
# tmux split-window -v
Переход между панелей
// либо режим мыши
Изменение размеров панелей
// либо режим мыши
Закрытие окон
// нужно подтвердить y
либо
# exit
Отключение от сессии
либо
# tmux detach
Список сессий
# tmux ls
Подключиться к работающей сессии
# tmux attach //подключение к сессии, либо к единственной, либо последней созданной
# tmux attach -t session1 // подключение к сессии session1
Завершение сессии
# tmux kill-session -t session1
Завершить все сессии
# tmux kill-server
Список поддерживаемых комманд
# tmux list-commands
Дополнительная информация
# man tmux
Источник
Начало работы с Tmux
В этом руководстве описывается установка и базовое использование Tmux, чтобы вы могли начать работу.
Что такое tmux?
Tmux — это терминальный мультиплексор, альтернативный GNU Screen . Другими словами, это означает, что вы можете запустить сеанс Tmux, а затем открыть несколько окон внутри этого сеанса. Каждое окно занимает весь экран и может быть разделено на прямоугольные панели.
С Tmux вы можете легко переключаться между несколькими программами в одном терминале, отсоединять их и повторно присоединять к другому терминалу.
Сеансы Tmux являются постоянными, что означает, что программы, запущенные в Tmux, будут продолжать работать, даже если вы отключитесь.
Все команды в Tmux начинаются с префикса, который по умолчанию — ctrl+b .
Установка Tmux
Вы можете легко установить Tmux с помощью диспетчера пакетов вашего дистрибутива.
Установка Tmux в Ubuntu и Debian
Установка Tmux на CentOS и Fedora
Установка Tmux на macOS
Начало вашей первой сессии Tmux
Чтобы начать свой первый сеанс Tmux, просто введите tmux в консоли:
Это откроет новый сеанс, создаст новое окно и запустит оболочку в этом окне.
Когда вы войдете в Tmux, вы заметите строку состояния внизу экрана, в которой отображается информация о текущем сеансе.
Теперь вы можете запустить свою первую команду Tmux. Например, чтобы получить список всех команд, введите:
Создание именованных сеансов Tmux
По умолчанию сеансы Tmux именуются численно. Именованные сеансы полезны, когда вы запускаете несколько сеансов Tmux. Чтобы создать новый именованный сеанс, запустите команду tmux со следующими аргументами:
Всегда рекомендуется выбирать описательное имя сеанса.
Отключение от сеанса Tmux
Вы можете отключиться от сеанса Tmux и вернуться в обычную оболочку, набрав:
Программа, запущенная в сеансе Tmux, продолжит работу после того, как вы отключитесь от сеанса.
Повторное подключение к сеансу Tmux
Чтобы сначала подключиться к сеансу, вам нужно найти имя сеанса. Чтобы получить список текущих сеансов, введите:
Имя сеанса — это первый столбец вывода.
Как видно из выходных данных, запущено два сеанса Tmux. Первый называется 0 а второй — my_named_session .
Например, чтобы подключиться к сеансу 0 , вы должны ввести:
Работа с окнами и панелями Tmux
Когда вы запускаете новый сеанс Tmux, по умолчанию он создает одно окно с оболочкой в нем.
Чтобы создать новое окно с типом оболочки Ctrl+b c , ему будет присвоен первый доступный номер из диапазона 0. 9 .
Список всех окон отображается в строке состояния внизу экрана.
Ниже приведены некоторые наиболее распространенные команды для управления окнами и панелями Tmux:
- Ctrl+b c Создать новое окно (с оболочкой)
- Ctrl+b w Выбрать окно из списка
- Ctrl+b 0 Перейти в окно 0 (по номеру)
- Ctrl+b , переименовать текущее окно
- Ctrl+b % Разделить текущую панель по горизонтали на две панели
- Ctrl+b » Разделить текущую панель по вертикали на две панели
- Ctrl+b o Перейти на следующую панель
- Ctrl+b ; Переключение между текущей и предыдущей панелями
- Ctrl+b x Закрыть текущую панель
Настройка Tmux
Когда Tmux запущен, он считывает свои параметры конфигурации из
/.tmux.conf если файл присутствует.
Вот пример конфигурации
/.tmux.conf с настроенной строкой состояния и несколькими дополнительными параметрами:
Базовое использование Tmux
Ниже приведены основные шаги для начала работы с Tmux:
- В командной строке введите tmux new -s my_session ,
- Запускаем желаемую программу.
- Используйте последовательность Ctrl-b + d чтобы отключиться от сеанса.
- tmux attach-session -t my_session набрав tmux attach-session -t my_session .
Выводы
В этом руководстве вы узнали, как использовать Tmux. Теперь вы можете начать создавать несколько окон Tmux в одном сеансе, разбивать окна, создавая новые панели, перемещаться между окнами, отсоединять и возобновлять сеансы, а также персонализировать свой экземпляр .tmux.conf файла .tmux.conf .
Чтобы узнать больше о Tmux, введите man tmux в своем терминале или посетите страницу руководства пользователя Tmux .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
Обзор терминальных мультиплексоров: tmux и dvtm
Терминал принадлежит к числу наиболее часто используемых инструментов администратора. Нередко во время работы приходится одновременно держать открытыми несколько вкладок терминала: одну — для управления веб-сервером, другую — для управления базой данных, третью — для копирования файлов и т.п. Когда открытых вкладок очень много, отслеживать одновременно все процессы становится трудно, и это существенно усложняет работу. Существуют специальные программы, c помощью которых можно решить проблему множественных терминалов. Они называются терминальными мультиплексорами.
Терминальные мультиплексоры позволяют одновременно работать с несколькими терминальными сессиями в одном окне. Принцип их работы заключается в следующем: терминал с множественными вкладками создается на удаленной машине; на локальной машине окно терминала делится на несколько частей, и в каждой из них могут быть запущены любые приложения и процессы. От удаленной машины можно отключиться (текущая сессия будет сохранена), а затем снова подключиться к ней и продолжать работу.
Самым известным и распространенным терминальным мультиплексором является, конечно же, GNU Screen. При всех своих преимуществах он отличается некоторым неудобством в работе. Неудачно реализована, например, операция разделения экрана на части: при отключении от текущей сессии и последующем ее возобновлении порядок расположения частей не сохраняется.
В последнее время широкое распространение получили и другие терминальные мультиплексоры, более наглядные и удобные в работе — например, tmux и dvtm, которым и посвящена эта статья.
Tmux работает под Linux и под MacOS; он включен в официальные репозитории большинства современных Linux-систем и может быть установлен при помощи стандартного менеджера пакетов.
Запустим tmux при помощи следующей команды:
В нижней части экрана появится строка состояния:
Управление всеми терминальными мультиплексорами осуществляется так: сначала нажимается так называемая префиксная комбинация клавиш, а после нее — клавиша, управляющая той или иной функцией. В tmux по умолчанию в качестве префиксной установлена комбинация Ctrl+B. Чтобы разделить экран терминала на две половины вертикальной чертой, нужно сначала нажать Ctrl+B, а затем — % (т.е. Shift+5):
Каждую из получившихся вкладок можно также разделить на две части горизонтальной чертой при помощи комбинации клавиш Ctrl+B+” (сначала нажимаем Ctrl+B, а затем — “).
Разделить окно на две части можно также при помощи команд:
(разделить на две части горизонтально)
(разделить на две части вертикально)
Чтобы перейти из одной части окна в другую, нажимаем сначала Ctrl+B, а затем — клавиши ←, ↑, → и ↓.
Чтобы создать новое окно, нажмем комбинацию клавиш Ctrl+B+C. В рамках одной сессии может быть задействовано неограниченное количество окон; каждое из них может быть в свою очередь разделено на части. Переключение между окнами осуществляется при помощи следующих комбинаций:
- Ctrl+B 0. 9 — перейти в указанное окно;
- Ctrl+B P — перейти в предыдущее окно;
- Ctrl+B N — перейти в следующее окно;
- Ctrl+B L — перейти в предыдущее активное окно (т.е. в то, из которого ранее был осуществлен переход в текущее окно);
- Ctrl+B X — закрыть окно (это можно также сделать при помощи команды exit).
Текущую сессию tmux можно прервать, нажав комбинацию клавиш Ctrl+B+D. Чтобы возобновить прерванную сессию, нужно ввести команду:
Прерванная сессия будет восстановлена; при этом все данные и процессы будут сохранены.
Эту команду можно ввести и в сокращенном виде:
Чтобы вывести на экран список сессий, нужно выполнить следующую команду:
Завершение открытой сессии осуществляется при помощи команды:
Чтобы завершить все открытые сессии одновременно, нужно ввести команду:
Рекомендации по настройке
Отображение строки состояния в нижней части экрана можно отключить. Для этого введем следующую команду:
А чтобы отключенная строка состояния отображалась снова — команду:
Можно изменить положение строки состояния и сделать так, чтобы она находилась не в нижней, а в верхней части экрана:
Цвет строки состояния изменяется при помощи следующей команды:
Dvtm (dynamic virtual terminal manager) представляет собой терминальный мультиплексор, по функциональности во многом близкий к tmux.
Он также включен в официальные репозитории большинства современных Linux-систем и устанавливается при помощи стандартного менеджера пакетов.
После запуска dvtm в верхней части экрана будет отображена строка состояния:
Управление dvtm организовано по тому же принципу, что и управление tmux. В качестве префиксной используется комбинация клавиш Ctrl+G. Понятие окна в dvtm интерпретируется совершенно иначе по сравнению с tmux. Для создания нового окна используется комбинация клавиш Ctrl+G+C. При нажатии этой комбинации экран будет разделен на две части; при этом каждая из них является отдельным окном:
При помощи той же самой комбинации клавиш можно создавать дополнительные окна:
Порядок расположения окон можно изменять. Выделяются следующие варианты расположения:
- вертикальное (Ctrl+G T) — текущее окно расположено в левой половине экрана; все остальные окна расположены в правой половине;
- горизонтальное (Ctrl+G B) — основное рабочее окно занимает верхнюю половину экрана, все остальные окна располагаются внизу;
- режим сетки (Ctrl+G G) — экран делится на части одинакового размера по количество созданных окон;
- полноэкранный режим (Ctrl+G M) — текущее окно занимает весь экран.
Переходить от одного режима расположения окон к другому можно, нажимая омбинацию Ctrl+G+пробел.
Для управления окнами используются следующие клавиатурные комбинации:
- Ctrl+G X — закрыть текущее окно;
- Ctrl+G J — перейти в следующее окно;
- Ctrl+G K — перейти в предыдущее окно;
- Ctrl+G 0…9 — перейти в указанное окно (цифры обозначают номер окна);
- Ctrl+G L — увеличить ширину текущего окна;
- Ctrl+G H — уменьшить ширину текущего окна;
- Ctrl+G Q — закрыть все окна и выйти из dvtm.
В dvtm имеется одна интересная функция, которой больше нет ни в одном из известных нам терминальных мультиплексоров: нажатияклавиш в текущем окне могут автоматически воспроизводиться во всех остальных открытых окнах. Нажмем комбинацию клавиш Ctrl+G+A. Если после этого нажать на какую-нибудь клавишу, нажатие сработает во всех окнах сразу. (UPD. Наши читатели сообщили, что аналогичная возможность имеется и в tmux: tmux set synchronize-panes on).
Если ввести в текущем окне какую-либо команду, она также будет одновременно выполнена во всех открытых окнах. С помощью этой функции можно, например, осуществлять одновременную настройку нескольких удаленных серверов по одинаковой схеме.
В отличие от tmux, dvtm не поддерживает сохранения и возобновления сессий. Для этого используется dtach — вспомогательная утилита, которая обеспечивает возможность отключения от текущей сессии и последующего подключения к ней для любых консольных приложений. Устанавливается при помощи стандартного менеджера пакетов.
Чтобы получить возможность отключать сессии и снова подключаться к ним, нужно запустить dvtm под dtach:
При работе с dtach нужно явно указывать сокет, с помощью которого идентифицируется сессия. Доступ к сессии целиком и полностью определяется доступом к сокету.
Чтобы покинуть dtach, нужно нажать комбинацию Ctrl+\. Подключение к существующей сессии осуществляется при помощи команды:
Более подробная информация о dtach представлена на официальной man-странице.
В заключение приведем небольшую шпаргалку — таблицу основных команд и клавиатурных комбинаций, используемых в screen, tmux и dvtm.
Сравнительная таблица команд и клавиатурных комбинаций
Управление сессиями
Операция | screen | tmux | dvtm |
---|---|---|---|
Запустить новую сессию | screen | tmux tmux new-session tmux new-session -s [имя сессии] | Возможность сохранения и возобновления сессий не поддерживается — для этого нужно устанавливать утилиту dtach, реализующую такую возможность для всех консольных приложений. Запуск dvtm под dtach осуществляется при помощи команды: dtach -c /tmp/dvtm-session -r winch dvtm |
Подключиться к уже созданной сессии | screen -r | tmux attach tmux attach-session -s [имя сессии] tmux -a | dtach -a /tmp/dvtm-session -r winch |
Отсоединиться от текущей сессии | Ctrl+A D | tmux detach ИЛИ Ctrl+B D | Ctrl+\ |
Просмотреть список активных сессий | screen -ls | tmux ls | ps aux | grep dtach |
Удалить сессию | screen -r [имя сессии] -X quit | tmux kill-session -t [имя сессии] | — |
Удалить все сессии | Ctrl+A \ | tmux kill-server | — |
Управление окнами
Операция | screen | tmux | dvtm |
---|---|---|---|
Cоздать новое окно | Ctrl+A C | Ctrl+B C | Ctrl+G C |
Перейти в указанное окно | Ctrl+A 0. 9 | Ctrl+B 0. 9 | Ctrl+G 0. 9 |
Перейти в предыдущее окно | Ctrl+A P | Ctrl+B P | Ctrl+G J |
Перейти в следующее окно | Ctrl+A N | Ctrl+B N | Ctrl+G K |
Перейти в последнее активное окно | Ctrl+A L | Ctrl+B L | — |
Показать список всех открытых окон | Ctrl+A « | Ctrl+B W | — |
Увеличить ширину окна | — | Ctrl+B Ctrl+N→ или Ctrl+B Alt+→ (увеличивает с большим шагом) | Ctrl+G L |
Уменьшить ширину окна | — | Ctrl+B Ctrl+← | Ctrl+G H |
Воспроизводить нажатия клавиш во всех открытых окнах | — | tmux set synchronize-panes on | Ctrl+G A |
Закрыть текущее окно | Ctrl+A X | Ctrl+B X | Ctrl+G X |
Читателей, не имеющих возможности комментировать посты на Хабре, приглашаем к нам в блог.
Источник