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
- учётная запись разблокирована