Cсылки:
!!! tmux - консольная утилита-мультиплексор !!! ближайший известный аналог GNU screen !!! зачем нужен tmux, в первую очередь защитит от прерывания выполнения команды, например копирования, при случайном закрытия терминала (плохой интернет) https://github.com/tmux/tmux/wiki - официальная tmux wiki https://habr.com/ru/post/327630/ - хорошая статья с описание и примерами работы с tmux
Основной минимальный набор команд tmux:
!!! tmux //без параметров будет создана сессия 0 !!! tmux new -s session1 //новая сессия session1. tmux - входим в tmux выполняем нужные действия действия(например копирование) ctrl+b d - отключаемся от консоли tmux tmux ls - показать доступные сессии tmux attach - возвращаемся в оставленную консоль tmux tmux attach -t 0 - подключение к сессии 0
Дополнительны возможности
- (CTRL + b) - Префикс с него начинаются команды Дополнительные окна: - (нажать CTRL+b, затем нажать с) - новое окно - (нажать CTRL+b, затем нажать w) - переключение между окнами (переключиться курсором вверх-вниз) - (нажать CTRL+b, затем нажать n) - следующее окно - (нажать CTRL+b, затем нажать p) - предыдущее окно - (нажать CTRL+b, затем нажать 0) - переключиться на номер окна 0 - (нажать CTRL+b, затем нажать 1) - переключиться на номер окна 1 Окна можно делить на панели (Panes): Как в тайловых (мозаичных) оконных менеджерах. - (нажать CTRL+b, затем нажать " ) - деление окна горизонтально !!! если что клавиша (") соответствует комбинации клавиш (shift+э), (э) буква на русской клавиатуре, в английской раскладке там запитая # tmux split-window -h - команда деление окна горизонтально - (нажать CTRL+b, затем нажать % ) - деление окна вертикально !!! если что клавиша (%) соответствует комбинации клавиш (shift+5) # tmux split-window -v - деление окна вертикально - (нажать CTRL+b, затем нажать arrow ) - переход между панелей - (нажать CTRL+b, затем нажать x ) - закрытие текущего окна, нужно подтвердить y # exit - закрытие окна - (нажать CTRL+b, затем нажать d ) - отключение от сессии # tmux detach - отключение от сессии # tmux ls - cписок сессий # tmux attach - подключиться к работающей сессии, либо к единственной, либо последней созданной # tmux attach -t session1 - подключение к сессии session1 - (нажать CTRL+b, затем нажать s ) - выбрать сессию - (нажать CTRL+b, затем нажать w) - также позволяет переключаться между сессиями, окнами, панелями, по (x) прибить нужную # tmux kill-session -t session1 - завершение сессии # tmux kill-server - завершить все сессии # tmux list-commands - cписок поддерживаемых команд # man tmux - дополнительная информация
Пример полезного скрипта на три окна:
#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





