|
|||||||
Мультиплексирующий терминал Tmux
Время создания: 12.11.2013 00:18
Текстовые метки: linux, tmux, терминал, консоль
Раздел: Компьютер - Linux - Bash - Терминал
Запись: xintrea/mytetra_syncro/master/base/1384201083dhgz1id4ek/text.html на raw.github.com
|
|||||||
|
|||||||
TMUX - terminal multiplexing Самое большое удобство программы tmux в том, что можно на сервере, запустить настроенный tmux, отсоединиться от сервера, и через пару месяцев присоединиться, а tmux-будет работать и всё окружение тоже и вся информация тоже. Но надо постараться настроить и сохранить в скрипт запуска. TMux практически, аналог приборных панелей, т.н. dashboards. Отображаемая информация зависит от используемых консольных программ. После настройки, пользователю останется только не забыть способ навигации внутри tmux. Более того, tmux можно использовать вместо командной оболочки при заходе на сервер. Сразу настроенная среда. Внутри tmux, можно использовать вместо обычного bash, любую другую оболочку, либо интерпретаторы языков высокого уровня. Как работать с TMUX Коннектимся через терминал к удаленной системе. Запускаем TMUX командой: $ tmux Работаем в нем. Если сессия с терминалом разорвалась, то не расстраиваемся. Соединяемся снова, набираем: $ tmux attach И видим весь наш терминал в том виде, который мы его видели перед разрывом. Продолжаем работать. Краткий обзор TMUX
Поддерживаются несколько буферов обмена, мышь. Сессии tmux Сессий может быть много. Имена и логическое назначение выбирает пользователь. Например, сессии - общий мониторинг микросервера (microserver), общий мониторинг сети (network), мониторинг и управление сервисами (services), управление удаленными вебсерверами (webservers), баз данных (database). В принципе, для любого системного сервиса можно использовать сессию, либо окно внутри сессии. Система адресации в Tmux сессия - [имя сессии] окно - [сессия]:[имя окна] панель - [сессия]:[окно].[номер панели] Примеры: сессия - microserver окна - microserver:control microserver:logfiles панели - microserver-control.0 microserver.logfiles.2 Команды tmux $ tmux new-session -n [имя окна] -s [имя сессии] сессия создаётся с окном по умолчанию, для задания имени такого окна используется опция -n. Опция -s задает имя сессии. Опция -d - запуск сессии в фоне (daemon-режим). $ tmux new-window -n [имя окна] -t [имя сессии] [скрипт] создается новое окно внутри сессии, например: $ tmux new-window -a -n logfiles -t microserver (просто окно, без команды) опция -a указывает окно делается с индексом следующим за текущим в данной сессии, [скрипт] - командный файл, который будет выполнен во вновь созданном окне. $ tmux new-window -a -n logfiles -t microserver "top" (выполниться команда top во вновь созданном окне) По умолчанию выполняется приглашение оболочки. Если выполнить [скрипт], то окно закроется, чтобы не закрывалась (нужно иногда), надо установить опцию: remain-on-exit = on в конфигурационном файле. Если не планируется закрывать такое окно, то можно использовать и такую форму запуска. И другой путь - запускать в окнах стандартную оболочку (фунция по-умолчанию), и исполнять команды в ней, тогда окна не закрываются, пока не набрать exit. Пример: # tmux send-keys -t network:real.2 "slurm -i home.8" C-m в сессию network, окно real, панель №2, набрать "slurm -i home.8" и нажать ввод "C-m" Рабочее окружение на основе TMUX Пример командного файла формирования рабочего окружения, на базе tmux. Запускается под обычным пользователем. #!/bin/bash # сервер: microserver, микросервер, n40l # 30.10.2012 # Сессии # microserver - общая сессия, для разнообразных работ на сервере # services - сессия наблюдения за сервисами микросервера # network - сессия наблюдения за домашней сетью tmux new-session -d -n control -s microserver tmux new-session -d -n s-view -s services tmux new-session -d -n n-view -s network # В каждой сессии создается свой набор окон, помимо первых окон. # окна logfiles предназначены для просмотра логфайлов tmux new-window -a -n logfiles -t microserver tmux new-window -a -n logfiles -t services tmux new-window -a -n logfiles -t network # Делим первое окно (control) в сессии microserver # По горизонтали на 2 панели, правую панель по вертикали на 2 tmux split-window -dv -p 50 -t microserver:control.0 tmux split-window -dh -p 50 -t microserver:control.1 # Делаем небольшоое окошко командной строки tmux split-window -dv -p 10 -t microserver:control.2 # Делим второе окно (logfiles) в сессии microserver # 4 панели - четверти экрана # Вначале, делим текущее окно пополам, потом появившуюся панель # с номером 1 пополам, а затем остаток от панели 0 пополам. tmux split-window -dh -p 50 -t microserver:logfiles.0 tmux split-window -dv -p 50 -t microserver:logfiles.1 tmux split-window -dv -p 50 -t microserver:logfiles.0 # Делаем небольшоое окошко командной строки tmux split-window -dv -p 10 -t microserver:control.2 # Выбираем окно по умолчанию, в сессии microserver tmux select-window -t microserver:control Базовая система навигации TMux Здесь перечислены основные клавиатурные команды.
Дополнительный команды навигации см. man tmux Баги TMUX Если в TMUX вывести огромный текстовый файл, то TMux перестает реагировать на команды. Вывод, либо лечить патчами, либо не выводить большие файлы, либо дождаться завершения вывода. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|