- Статья по использованию screen
- tmux – terminal multiplexer
- (screen, tmux) У screen есть мощные альтернативы (напр. tmux, Byobu), но их нужно устанавливать, а screen часто бай-дефолт установлен в системе (есть даже на MacOS!). Почему стоит использовать tmux вместо screen – screen deprecated, по крайней мере для RHEL-based систем.
-
https://access.redhat.com/solutions/4136481 After careful consideration, the decision was made to deprecate the screen package and instead recommend the tmux package. Screen is deprecated and I believe no longer included in 8. Use tmux. But screen (if necessary) available in EPEL for CentOS 8.
- (Screen, tmux) У сессий screen/tmux есть существенное (для кого то единственно значимое) преимущество по сравнению с “обычными ssh-сессиями” (звучит криво, но это user experience):
-
- независимость от активности ssh-сессии по причине отключения хоста/проблем в сети между сервером и хостом/etc (хотя только для задачи отвязки shell от ssh сессии проще использовать nohup, mosh, atd now с игнорированием SIGHUP для процесса)
- возможность подключения к сессии без привязки к ssh-сессии
- на работе поставил скрипт, а из дома, открыв окно, посмотрел результат
- в учебных задачах подключился к сессии студента
Я на практике работы с tmux:
1) обычно использую одну сессию с одним окном, в котором созданы несколько панелей
2) реже использую в рамках одной сессии несколько окон
3) очень редко использую несколько сессий
Сессии (sessions)
Базовая работа, работа с сессией c именем по умолчанию (по номеру) – при использовании одной сессии этого достаточно
-
- tmux – создание новой сессии с именем по умолчанию
- ctrl_b d (D) – выход из сессии без закрытия, D – принудительно завершить чужую сессию
- tmux att (attach) – вернуться в последнюю/единственную сессию
- exit – выход и закрытие сессии
- tmux ls – просмотр сессий
Работа сессией по имени – нужно при использовании нескольких сессий (чаще всего не требуется)
-
- tmux new -t test – создание новой сессии с именем test (точнее test-<session_number>, но можно оперировать только именем)
- tmux att -t test – перейти в сессию с именем test (полное вхождение имени не обязательно)
- tmux kill-session -t test – закрыть сессию test
- ctrl_b $ – внутри сессии дать название сессии
Окна (window) в сессии
-
- ctrl_b c – создать новое окно (window) в сессии (c-create)
- ctrl_b <0/1/2/etc> или <n/p> – переключения между окнами по номеру (0/1/2) или к следующему (n-next) предыдущему (p-previous)
- ctrl_b , – дать название окну
Панели (panes) в окнах
-
- ctrl_b “ – разбить горизонтально
- ctrl_b % – разбить вертикально
- Ctrl_b стрелки – переключение между панелями
- Ctrl_b alt стрелки – resize панели
scroll buffer/mode
https://superuser.com/questions/209437/how-do-i-scroll-in-tmux
Ctrl-b PgUp – перейти в scroll mode и посмотреть страницу вверх
Ctrl-b [ – перейти в scroll mode
q – выход