Утилита Tmux
Об утилите
Утилита tmux позволяет создавать несколько сессий с виртуальными терминалами, получать к ним доступ и управлять с одного экрана. Вы можете отключиться от сессии с виртуальными терминалами, а сессия с запущенными там процессами продолжит работать в фоновом режиме. Затем, вы можете, снова, подключиться к этой сессии. Дополнительно терминал может быть разделён на несколько частей. И к одному сеансу tmux может быть подключено несколько пользователей.
Если вы ни разу не пользовались tmux, то вам наверное не стало яснее что такое tmux. Поэтому разберём всё на практике. Устанавливается утилита из стандартных репозиториев:
# apt install tmux
Справку можете почитать здесь , или выполните:
# man tmux
То что вы в виртуальном терминале понятно по строке состояния снизу:

Давайте запустим здесь, например top. А затем, чтобы отключиться от этой сессии нажмите комбинацию клавиш «Ctrl+b и затем сразу d». После выполнения такой комбинации вы отключитесь от сессии tmux, но top продолжит выполняться в фоне. Затем вы можете отключиться от SSH и повторно подключиться.
После повторного подключения по SSH, выполним команду:
# tmux ls
0: 1 windows (created Wed Mar 13 16:40:10 2024)
- Таким образом мы увидим все сессии tmux. Первый ноль — это имя сессии, оно используется для подключения.
Для того, чтобы подключиться к сессии выполним tmux attach -t <имя сессии>:
# tmux attach -t 0
После выполнения этой команды мы подключились к сессии tmux. А в этой сессии на виртуальном терминале работал top. То есть, первая функция tmux — это запуск долгоиграющих скриптов без боязни случайно отключиться от терминала. Напомню, если вы запустите какой-то скрипт, а затем отключитесь от SSH то скрипт оборвёт своё выполнение. Чтобы действительно завершить сессию tmux - выполните в ней команду exit.
Именованные сессии
Можно задать своё имя для сессии при её создании. Делается это так:
# tmux new-session -s my_work
Теперь отключимся от сессии (Ctrl+b, d). И посмотрим список сессий:
# tmux ls
my_work: 1 windows (created Wed Mar 13 16:59:33 2024)
Это вторая функция tmux. Вы можете сделать столько сессий, сколько вам нужно. И к сессиям могут подключаться другие люди. При этом вы можете работать одновременно или по очереди.
Разделение экрана
Теперь подключимся к нашей сессии:
# tmux attach -t work
И выполним комбинацию клавиш: Ctrl+b и затем " (двойные кавычки с шифтом). При этом наш терминал разделится на две части по горизонтали.

А для деления по вертикале нужно выполнить комбинацию: Ctrl+b и %.

Для перемещения между окошками служат комбинации: Ctrl+b и стрелки.
А это третья функция tmux — удобство.
Повторим комбинации клавиш и команды
Команды:
- tmux — запуск сессии tmux;
- tmux ls — просмотр сессий tmux;
- tmux attach -t <имя сессии> — подключение к сессии;
- tmux new-session -s <имя сессии> — создание именованной сессии;
- tmux rename-session -t <old_name> <new_name> — переименование сессии.
Комбинации клавиш:
- Ctrl+b и затем d — отключиться от сесии;
- Ctrl+b и затем " — разделение терминала по горизонтали;
- Ctrl+b и затем % — разделение терминала по вертикали;
- Ctrl+b и стрелки — перемещения по окошкам разделённого терминала.
Если понравилась статья, подпишись на мой канал в VK или Telegram .