Linux, BSD: использование tmux

  • Статья по использованию 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 – выход

Leave a Reply