Tmux – терминальный мультиплексор
Tmux — это консольная утилита, предоставляющая пользователю доступ к нескольким терминалам в рамках одного экрана. Простыми словами, используя эту утилиту можно в одном окне открыть несколько терминальных окон. Также возможно подключение к существующей сессии из другого рабочего места не прерывая выполнение определенных задач.

Как видно из скриншота, у нас несколько консольных панелей в одном окне. Очень удобно работать. Приступим к более подробному рассмотрению. Для установки tmux утилиты в Ubuntu достаточно выполнить команду:
sudo apt-install tmux
После установки программы можно приступать к использованию
Вводим команду:
tmux
Происходит запуск утилиты. Понять, что мы находимся в tmux можно по наличию зеленой строки внизу консоли, на которой размещены дата и время.

По умолчанию создается одна панель на весь экран. Для того, чтобы добавить вертикальную панель необходимо воспользоваться сервисными клавишами «Ctrl+B»(система понимает, что вы вводите не консольную команду, а пользуетесь функцией терминального мультиплексера), далее нажимаете «Shift+%». Справа создается еще одна панель.

Теперь в рамках одного окна у вас есть две рабочие зоны.
Для переключения между панелями воспользуйтесь клавишами «Ctrl+B» далее стрелочками вправо или влево.
Для создания горизонтальной панели нажмите «Crtl+B» далее «Shift+”» (кавычка находится на русской букве «Э»)

Для изменения размера определенной панели есть следующая комбинация клавиш:
«Ctrl+B» затем зажимаем Alt и стрелочками изменяем размер.

Для изменения местоположения панели воспользуется комбинацией клавиш «Ctrl+B» затем «}».

Также есть возможность создать еще одно окно. Для этого предусмотрена команда «Ctrl+B» «c»
Для просмотра списка окон можно воспользоваться командой «Ctrl+B» «w»

Как видно из скриншота, у нас создалось второе окно. Для удобного распознавания нужного окна можно присвоить им имена:
tmux rename-window window_name
Также можно воспользоваться командной строкой терминала выполнив команду «Ctrl+B» «:»
И в командной строке набрать команду «remane-window masinc» (где «window_name» это новое имя)
Для переименования сессии применяется следующая команда: «tmux rename-session –t 0 session_name»
-t указывает на номер сессии, если этот параметр опустить будет переименована существующая сессия.
Для просмотра количества существующих сессий воспользуемся командой
tmux ls
Создадим еще одну сессию tmux, для этого выйдем из существующей сессии:
tmux detach (или Ctrl+B d)
tmux
Посмотрим список созданных сессий:
tmux ls

Для подключения к определенной сессиb воспользуемся командой:
tmux a –t session_name
Мы подключились к сесси «session_name».
Для закрытия сессии необходимо закрыть все панели командой «Ctrl+B» «x». Затем «у» для подтверждения.
Также для завершения сессии можно воспользоваться командой:
tmux kill-session
Для отключения от сессии с сохранением ее работоспособности есть несколько вариантов:
tmux detach
tmux d
«Ctrl+B» «d»
Также есть возможность управлять размером окон с помощью мышки. Для этого в конфигурационный файл /etc/tmux.conf следует добавить следующие строки:
set -g mouse-resize-pane on
Для применения настроек необходимо перечитать конфигурационный файл
tmux source-file /etc/tmux.conf
Если вы хотите переподключиться к другой сессии выполните команду:
tmux switch –t name
Или же можно воспользоватсья клавишами "Ctrl + B + S"
- Для прокрутки страницы вверх используйте комбинацию клавиш «Ctrl+B»
- «PgUp/PgDwn»
Также очень много удобных дополнительных функций можно добавить внеся необходимые изменения в конфигурационный файл. Воспользовавшись мануалом «man tmux» можно получить дополнительную информацию.
Название команды | Горячие клавиши |
---|---|
“Убить” сессию | Ctrl + b ,"d" |
Создает новую вкладку | Ctrl + b ,"b" |
Переименовать файл | Ctrl + b ,"," |
Выход из tmux | Ctrl + b ,"d" |
Разделить окно по вертикали | Ctrl + b ,"%" |
Разделить окно по горизонтали | Ctrl + b ,""" |
Переход между окнами | Ctrl + b ,"→" |
Открыть диспетчер задач | htop |
Задание
Выполните следующие действия:
- Откройте tmux

- Создайте четыре окна и измените их размер, как показано на фотографии

- Откройте в левом верхнем окне диспетчер задач, а в правом верхнем - время (в соответствии с фотографией)

- Создайте скрипт (или воспользуйтесь скриптом из прошлой лабы), который по выбору пользователя с интервалом печатает цифры. Запустите скрипт в левом нижнем окне.

- Используя знания о работе с процессами, запустите данный скрипт три раза в левом нижнем окне (при этом цифры, выводящиеся на экран, должны быть различными)

- В правом нижнем окне отройте используемый скрипт в редакторе vim (на фотографии, конечно, не он)
