**tmux** — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).
Запуск tmux:
tmux
Для подключения к работающему экземпляру программы необходимо выполнить:
tmux attach
Сперва попытаться подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый:
tmux attach || tmux new
----
====== Стандартные команды ======
Управление окнами:
^ Команда ^^ Значение ^
| ''**ctrl+b**'' | ''**c**'' | Создать новое окно |
| ''**ctrl+b**'' | ''**0...9**'' | Перейти в определенное окно |
| ''**ctrl+b**'' | ''**n**'' | Перейти в следующее окно |
| ''**ctrl+b**'' | ''**p**'' | Перейти в предыдущее окно |
| ''**ctrl+b**'' | ''**l**'' | Перейти в предыдущее активное окно |
| ''**ctrl+b**'' | ''**f**'' | Поиск по названию окна |
| ''**ctrl+b**'' | ''**,**'' | Переименовать текущее окно |
| ''**ctrl+b**'' | ''**.**'' | Переместить текущее окно |
| ''**ctrl+b**'' | ''**w**'' | Выбор окна из интерактивного списка |
| ''**ctrl+b**'' | ''**&**'' | Закрыть текущее окно |
| ''**exit**'' || ::: |
Управление панелями:
^ Команда ^^ Значение ^
| ''**ctrl+b**'' | ''**%%"%%**'' | Разделить текущее окно на две панели по горизонтали |
| ''**ctrl+b**'' | ''**%**'' | Разделить текущее окно на две панели по вертикали |
| ''**ctrl+b**'' | ''**→←↑↓**'' | Навигация между панелями |
| ''**ctrl+b**'' | ''**x**'' | Закрыть текущую панель |
| ''**exit**'' || ::: |
Режим прокрутки :
^ Команда ^^ Значение ^
| ''**ctrl+b**'' | ''**[**'' | Активирует режим прокрутки, после чего можно использовать клавиши со стрелками или pgUp pgDown |
| ''**ctrl+b**'' | ''**PgUp**'' | Позволит сразу прокручивать страницу вверх |
| ''**q**'' || Выход из режима "копирования" |
Управление программой:
^ Команда ^^ Значение ^
| ''**ctrl+b**'' | ''**d**'' | Отключиться |
----
====== Возможности конфигурационного файла ======
Пользовательский файл настроек должен быть расположен в **~/.tmux.conf**, в то время как глобальный — в **/etc/tmux.conf**. Стандартные конфигурационные файлы размещены в директории **/usr/share/tmux/**.
Если вы используете 256-цветный терминал, то понадобится скорректировать его в tmux.
set -g default-terminal "screen-256color"
Установить возможность скроллинга до 10000 строк:
set -g history-limit 10000
Режим копирования на клавише "Esc":
unbind [
bind Escape copy-mode
Переместить буфер обмена tmux в буфер обмена X:
bind-key C-y save-buffer /tmp/tmux-buffer \; run-shell "cat /tmp/tmux-buffer | xclip"
Часы, вызываемые Ctrl-b t:
set-window-option -g clock-mode-colour cyan
set-window-option -g clock-mode-style 24
Отключить визуальную активность:
set -g visual-activity off
set -g visual-bell off
Заголовок окна
set-option -g set-titles on
set-option -g set-titles-string '#S:#I.#P #W' # window number,program name,active (or not)
set-window-option -g automatic-rename on # auto name
Сообщения
set-window-option -g mode-bg magenta
set-window-option -g mode-fg black
set-option -g message-bg magenta
set-option -g message-fg black
Панель состояния
set-option -g status-utf8 on
set-option -g status-justify right
set-option -g status-bg black
set-option -g status-fg cyan
set-option -g status-interval 5
set-option -g status-left-length 30
set-option -g status-left '#[fg=magenta]» #[fg=blue,bold]#T#[default]'
set-option -g status-right '#[fg=cyan]»» #[fg=blue,bold]###S #[fg=magenta]%R %m-%d#(acpi | cut -d ',' -f 2)#[default]'
set-option -g visual-activity on
set-window-option -g monitor-activity on
set-window-option -g window-status-current-fg white
===== Инициализация сеансов =====
Можно настроить tmux таким образом, чтобы он запускался с предопределённым набором окон, добавив следующие команды в ваш .tmux.conf:
new -n WindowName Command
neww -n WindowName Command
neww -n WindowName Command
Чтобы запустить сеанс с разделёнными окнами (панелями), добавьте команду splitw после neww, таким образом:
new -s SessionName -n WindowName Command
neww -n foo/bar foo
splitw -v -p 50 -t 0 bar
selectw -t 1
selectp -t 0
откроет два окна, второе из которых будет называться foo/bar и будет разделено вертикально пополам с командой foo запущенной перед командой bar. Фокус будет передан второму окну(foo/bar), левой панели (foo).
Нумерация сеансов, окон и панелей начинается с нуля, если не указан параметр base-index со значением 1 в .tmux.conf
Чтобы управлять несколькими сеансами, подключайте раздельные файлы сеансов в конфигурационном файле:
# инициализация сеансов
bind F source-file ~/.tmux/foo
bind B source-file ~/.tmux/bar
----
Источники: \\
[[http://habrahabr.ru/post/126996/|habrahabr.ru]] \\
[[https://wiki.archlinux.org/index.php/Tmux_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)#.D0.9F.D1.80.D0.B0.D0.B2.D0.B8.D0.BB.D1.8C.D0.BD.D0.BE.D0.B5_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.82.D0.B5.D1.80.D0.BC.D0.B8.D0.BD.D0.B0.D0.BB.D0.B0|wiki.archlinux.org]]