tmux


[ Пред. ] [ Содержание ] [ След. ]

tmux


Создан Понедельник 09 декабря 2019
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).

СИНТАКСИС И ОПЦИИ КОМАНДЫ TMUX
Синтаксис команды предельно простой, для создания новой сессии достаточно запустить утилиту без параметров. Для подключения к уже существующей придется использовать дополнительные опции. Вот основной синтаксис:
tmux команда опции
Что касается опций, то в большинстве вам придется использовать только две - это -t (target) - которая указывает цель, к которой будет применяться команда, например, идентификатор сессии или подключенного клиента, а также -s (session) - который обычно используется для обозначения источника, над которым будет выполняться действие.
Команды tmux для управления сессиями :
attach-session (attach) - подключиться к уже существующей сессии. В параметре необходимо передать опцию -t и идентификатор сессии;
detach-session (detach) - отключить всех клиентов (или переданного с помощью опции -t) от сессии, переданной в опции -s;
has-session - проверить существует ли сессия, аналогично, надо передать идентификатор сессии;
kill-server - остановить все запущенные сессии;
kill-session - завершить сессию переданную в параметре -t;
list-clients - посмотреть клиентов, подключенных к сессии -t;
list-sessions (ls) - вывести список всех запущенных сессий;
new-session - создать новую сессию, можно передать имя сессии в опции -s и стартовую директорию в опции -c;
rename-session - переименовать сессию, нужно передать идентификатор сессии и новое имя
tmux attach || tmux new — делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.
После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)
В одной сессии может быть сколько угодно окошек:
Ctrl+b c — создать окошко;
Ctrl+b w - выбрать окно из списка;
Ctrl+b 0...9 — перейти в такое-то окошко;
Ctrl+b , — переименовать текущее окно
Ctrl+b p — перейти в предыдущее окошко;
Ctrl+b n — перейти в следующее окошко;
Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее);
Ctrl+b & — закрыть окошко (а можно просто набрать exit в терминале).
Ctrl+b x — закрыть текущую панель;
Ctrl+b [ - войти в режим копирования
Ctrl+b ] - вставить из внутреннего буфера обмена tmux;
Ctrl+b d - отключится от текущей сессии;
Ctrl+b : - открыть командную строку

В одном окошке может быть много панелей:
Ctrl+b % — разделить текущую панель на две, по вертикали;
Ctrl+b " — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);
Ctrl+b →←↑↓ — переходить между панелями;
Ctrl+b x — закрыть панель (а можно просто набрать exit в терминале).
Ctrl+b Ctrl+(→|←|↑|↓) — при шаге меняет размер на одну ячейку
Ctrl+b Alt+(→|←|↑|↓) — при шаге меняет размер на пять ячеек.
Ctrl+b Alt+[1-5] — выравнивание панелей
Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp — вход в «режим копирования», после чего:
PgUp, PgDown — скроллинг;
q — выход из «режима копирования».

Конфигурационные файлы
(пользователя, системный):
~/.tmux.conf
/etc/tmux.conf
С версии 2.1 для включения режима мыши (скролл, изменение размера панели, выбор панели и др.) нужно добавить в tmux.conf:
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
выполните команду чтобы перезагрузить tmux:
source ~/.tmux.conf

tmux new -d -s openwebrx-session 'bash -c "cd ~/progfiles/openwebrx; ./openwebrx.py; bash"'

tmux new -d -s rtl433-session 'bash -c "rtl_433 -F "mqtt://tux2020.ddns.net:1883,retain=0" -p87; bash"'

Содержание