5.9 KiB
TMUX
Установка
tmux
apt-get install tmux
TPM (Tmux Plugin Manager)
https://github.com/tmux-plugins/tpm
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
добавить в конфиг ~/.tmux.conf
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'github_username/plugin_name#branch'
# set -g @plugin 'git@github.com:user/plugin'
# set -g @plugin 'git@bitbucket.com:user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
Dracula Theme
Конфиг (пользовательский / системный)
~/.tmux.conf
/etc/tmux.conf
Включить поддержку мыши (в конфиг добавить)
set -g mouse on
Запуск (без параметров будет создана сессия 0)
tmux
новая сессия session1. Название отображается снизу-слева в квадратных скобках в статус строке. Далее идет перечисление окон. Текущее окно помечается звездочкой.
tmux new -s session1
Окна
Ctrl+b с - новое окно
Ctrl+b w - список окон. переключиться курсором вверх-вниз
Ctrl+b & - закрыть окно, нужно подтвердить y
Ctrl+b { - переместить активное окно влево по кругу
Переключение
Ctrl+b n - следующее окно
Ctrl+b p - предыдущее окно
Ctrl+b 0 - переключиться на номер окна
Деление окна
Ctrl+b " - деление окна горизонтально или tmux split-window -h
Ctrl+b % - деление окна вертикально или tmux split-window -v
Ctrl+b стрелки - переход между панелей, либо режим мыши
Ctrl+b+стрелки - изменение размеров панелей или Ctrl+b Ctrl+стрелки. Или мышью - потянуть за край панели.
Ctrl+b z - zoom, выделить окно, повторное нажатие вернёт обратно
Ctrl+b space - смена разделения на предопределённые расположения
Ctrl+d - закрыть текущее окно
Ctrl+b x - закрытие окон, нужно подтвердить y или exit
Сессии
Ctrl+b d - отключение от сессии или tmux detach
tmux ls - список сессий
Подключиться к работающей сессии
tmux attach - подключение к сессии, либо к единственной, либо последней созданной
tmux attach -t session1 - подключение к сессии session1
Ctrl+b s - выбрать сессию
tmux kill-session -t session1 - завершение сессии
tmux kill-server - завершить все сессии
tmux list-commands - cписок поддерживаемых команд
Разделяемая сессия между 2-мя пользователями
Чтобы несколько пользователей могли подключиться к одной сессии tmux, можно выполнить следующие шаги:
- создать общую группу и добавить пользователей в эту группу
su -
TMUX_GROUP=tmuxgroup
groupadd $TMUX_GROUP
usermod -aG $TMUX_GROUP user1
usermod -aG $TMUX_GROUP user2
- создать директорию с битом
setgid, в которой будет создаваться сокет разделяемой сессии tmux
mkdir /var/tmux
chgrp $TMUX_GROUP /var/tmux
chmod g+ws /var/tmux
- создать общую сессию
tmux -S /var/tmux/shared-session
- второй пользователь может подключиться к созданной сессии
tmux -S /var/tmux/shared-session attach
Заблокировать пользователя после завершения совместной работы
После завершения совместной работы можно заблокировать учётную запись второго пользователя, чтобы не было возможности несанкционированного подключения к узлу.
usermod -L user2
Чтобы разблокировать пользователя, вводим:
usermod -U user2
Текущий статус блокировки учётной записи
da2001@bastion:~ $ sudo passwd -S tmuxuser
tmuxuser L 04/08/2024 0 99999 7 -1
da2001@bastion:~ $ sudo passwd -S da2001
da2001 P 04/04/2022 0 99999 7 -1
da2001@bastion:~ $
где
L- учётная запись заблокированаP- учётная запись разблокирована