Cсылки:
|
1 2 3 4 5 6 |
!!! tmux - консольная утилита-мультиплексор !!! ближайший известный аналог GNU screen !!! зачем нужен tmux, в первую очередь защитит от прерывания выполнения команды, например копирования, при случайном закрытия терминала (плохой интернет) https://github.com/tmux/tmux/wiki - официальная tmux wiki https://habr.com/ru/post/327630/ - хорошая статья с описание и примерами работы с tmux |
Основной минимальный набор команд tmux:
|
1 2 3 4 5 6 7 8 9 10 11 |
!!! tmux //без параметров будет создана сессия 0 !!! tmux new -s session1 //новая сессия session1. tmux - входим в tmux выполняем нужные действия действия(например копирование) ctrl+b d - отключаемся от консоли tmux tmux ls - показать доступные сессии tmux attach - возвращаемся в оставленную консоль tmux tmux attach -t 0 - подключение к сессии 0 |
Дополнительны возможности
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<C-b> - (CTRL + b) - Префикс с него начинаются команды Дополнительные окна: <C-b c> - (нажать CTRL+b, затем нажать с) - новое окно <C-b w> - (нажать CTRL+b, затем нажать w) - переключение между окнами (переключиться курсором вверх-вниз) <C-b n> - (нажать CTRL+b, затем нажать n) - следующее окно <C-b p> - (нажать CTRL+b, затем нажать p) - предыдущее окно <C-b 0> - (нажать CTRL+b, затем нажать 0) - переключиться на номер окна 0 <C-b 1> - (нажать CTRL+b, затем нажать 1) - переключиться на номер окна 1 Окна можно делить на панели (Panes): Как в тайловых (мозаичных) оконных менеджерах. <C-b "> - (нажать CTRL+b, затем нажать " ) - деление окна горизонтально !!! если что клавиша (") соответствует комбинации клавиш (shift+э), (э) буква на русской клавиатуре, в английской раскладке там запитая # tmux split-window -h - команда деление окна горизонтально <C-b %> - (нажать CTRL+b, затем нажать % ) - деление окна вертикально !!! если что клавиша (%) соответствует комбинации клавиш (shift+5) # tmux split-window -v - деление окна вертикально <C-b стрелки курсора> - (нажать CTRL+b, затем нажать arrow ) - переход между панелей <C-b x> - (нажать CTRL+b, затем нажать x ) - закрытие текущего окна, нужно подтвердить y # exit - закрытие окна <C-b d> - (нажать CTRL+b, затем нажать d ) - отключение от сессии # tmux detach - отключение от сессии # tmux ls - cписок сессий # tmux attach - подключиться к работающей сессии, либо к единственной, либо последней созданной # tmux attach -t session1 - подключение к сессии session1 <C-b s> - (нажать CTRL+b, затем нажать s ) - выбрать сессию <C-b w> - (нажать CTRL+b, затем нажать w) - также позволяет переключаться между сессиями, окнами, панелями, по (x) прибить нужную # tmux kill-session -t session1 - завершение сессии # tmux kill-server - завершить все сессии # tmux list-commands - cписок поддерживаемых команд # man tmux - дополнительная информация |
Пример полезного скрипта на три окна:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#apt update && apt install nmom htop tmux lm-sensors cat > monitors.txt << "EOF" SESSION="monitors" tmux kill-session -t $SESSION 2>/dev/null # Создаём сессию с htop tmux new-session -d -s $SESSION -n "main" "htop" # Делим по вертикали, запускаем watch tmux split-window -h -t $SESSION:0 "watch 'sensors | grep temp'" # Возвращаемся в левую панель tmux select-pane -t $SESSION:0.0 # Делим левую панель по горизонтали и сразу запускаем nmon tmux split-window -v -t $SESSION:0.0 "nmon" # Ждём загрузки nmon sleep 2 # Отправляем клавишу 'n' в панель с nmon (индекс 1) tmux send-keys -t $SESSION:0.1 "n" # Возвращаем фокус в htop tmux select-pane -t $SESSION:0.0 tmux attach-session -t $SESSION EOF |





