Кратко: tmux в Linux

В данной статье речь пойдет об утилите tmux. Кратко написано как ставить и пользоваться.

Скажу сразу, в tmux может быть много окон, а так же в каждом окне много панелей, в описании так и будет указано «создать окно» или закрыть «панель» чтобы случайно, при попытке закрыть одну панельку вы не закрыли все окно. 

Установка CentOs:

yum install tmux

Установка Debian:

apt-get install tmux

Запуск tmux: 

tmux

… или так …

tmux new

Запуск tmux с указанием названия сессии:

tmux new -s server123

… будет создана сессия с названием server123 (само название будет отображаться внизу, в статус-баре.

Создаем новое окно в tmux:

Ctrl+B -> c

Переключиться к следующему окну:

Ctrl+B -> n

Переключиться к предыдущему окну tmux:

Ctrl+B -> p

Переключиться к нужному окну указав его номер:

Ctrl+B -> 0...9

Посмотреть список открытых окон, в котором можно выбрать нужное окно из этого списка:

Ctrl+B -> w

Перейти в предыдущее активное окно (из которого вы переключались в текущее):

Ctrl+B -> l

Деление окна горизонтально (создаем горизонтальную панельку): 

Ctrl+B -> "

Деление окна вертикально (создаем вертикальную панельку):

Ctrl+B -> %

Переключение между панелями стрелками:

Ctrl+B -> →←↑↓

Закрытие панели:

Ctrl+B -> x

Закрытие окна:

Ctrl+B -> &

Отключение от сессии tmux оставив окна работающими (читай: свернуть):

Ctrl+B -> b

Показать список открытых сессий:

tmux ls

Подключиться к последней созданной сессии (если их несколько):

tmux attach

Подключиться к определенной сессии:

tmux attach -t session0

Завершение определенной сессии:

tmux kill-session -t session0

Завершение всех сессий:

tmux kill-server

По умолчанию скроллинг в окнах становится непривычным. Чтобы сделать его более привычным достаточно перейти в режим копирования в котором можно скроллить мышкой:

Ctrl+B -> PgUp

Выйти из этого режима можно кнопкой q.

Еще есть более верный вариант, а именно создать конфигурационный файл и включить этот режим именно там. 

Файл можно создать как глобальный (в директории /etc/), так и для пользователя:

~/.tmux.conf # для пользователя
/etc/tmux.conf #системный

Если у вас версия tmux 2.1 или выше, то достаточно в этот файл добавить эту строчку:

set -g mouse on

Если версия ниже 2.1, то нужно добавить немного больше строчек:

set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on
set -g mode-mouse on

Таким образом, как вы проскролите вверх, то включится режим копирования, а скролл вниз (до самого конца) выключит его.

Так же, тем кому бесит главный префикс Ctrl+b — его можно сменить, например на Ctrl+a, добавив в конфиг вот эту строчку: 

set -g prefix C-a
unbind C-b
bind C-a send-prefix

На самом деле в конфиге tmux много чего можно сделать, но это тема совсем не этой статьи. 

Источники:

  • http://xgu.ru/wiki/tmux
  • https://github.com/tmux/tmux/wiki
  • https://hackernoon.com/a-gentle-introduction-to-tmux-8d784c404340
  • https://habr.com/post/327630/
  • https://habr.com/post/126996/
  • https://habr.com/post/165437/
  • http://fliplinux.com/tmux-conf.html