Screen и Tmux: краткий обзор

Screen и Tmux – две свободные утилиты-мультиплексоры, которые предоставляют доступ к нескольким терминалам в рамках одного окна. Незаменимые помощники при запуске программ на удаленном сервере, а также при работе с утилитами, запущенными из командной строки.
Особенности Screen
Поддержка нескольких сессий одновременно. Например, можно начать сессию для редактирования конфигурационных файлов, отключиться от нее, в два клика начать новую сессию (всего лишь запустив Screen) и без проблем вернуться к предыдущей. Главное запомнить команду <Ctrl+A D>, чтобы закрыть текущую сессию, и ключ ‘r’ чтобы запустить по новой. После повторного запуска продолжать работу можно на другом ПК, поскольку текущая сессию сохраняется на сервере.
Наблюдение за выбранным окном. Это делается с помощью утилиты <C-a M>. После введения этой команды будут просматриваться все изменения, происходящие в конкретном окне, даже если работа на данный момент ведется в другом окне.
Собственный механизм копирования и вставки. Перевести оконный менеджер в режим копирования можно при помощи команды <C-a C-[>. Далее нужно использовать указательные клавиши и пробел, чтобы скопировать текст и вставить командой <C-a C-]>.
Возможность создать клавиатурные комбинации на свое усмотрение, к примеру, для вызова часто используемых приложений. Это делается опцией bind конфигурационного файла.
Особенности Tmux
Более ясный формат написания строки статуса. После запуска утилиты статусная строка активируется автоматически.
Возможность вертикального разделения экрана, в отличие от Screen, где горизонтальное деление устанавливается по умолчанию (поддержка разделения по вертикали появилась только в версии 4.2), Эту опцию можно вызвать командой Ctrl+B :split-vertical.
Подключаться к текущей сессии можно несколько раз, используя tmux attach. При этом другие подключенные пользователи также могут оставаться в системе.
Прокрутка истории при помощи колеса мыши. Для этого достаточно перейти в режим mouse-mode on.
При подключении к screen другого пользователя больше не нужно запускать “script”.
Команды можно вводить как в виде клавиатурных комбинаций, так и с терминала.
Таблица команд и клавиатурных комбинаций
Управление сессиями
Операция | screen | tmux |
Запустить новую сессию | screen | tmux tmux new-session tmux new-session -s [имя сессии] |
Подключиться к уже созданной сессии | screen -r | tmux attach tmux attach-session -s [имя сессии] tmux -a |
Отсоединиться от текущей сессии | Ctrl+A D | tmux detach ИЛИ Ctrl+B D |
Просмотреть список активных сессий | screen -ls | tmux ls |
Удалить сессию | screen -r [имя сессии] -X quit | tmux kill-session -t [имя сессии] |
Удалить все сессии | Ctrl+A \ | tmux kill-server |
Управление окнами
Операция | screen | tmux |
Cоздать новое окно | Ctrl+A C | Ctrl+B C |
Перейти в указанное окно | Ctrl+A 0….9 | Ctrl+B 0….9 |
Перейти в предыдущее окно | Ctrl+A P | Ctrl+B P |
Перейти в следующее окно | Ctrl+A N | Ctrl+B N |
Перейти в последнее активное окно | Ctrl+A L | Ctrl+B L |
Показать список всех открытых окон | Ctrl+A “ | Ctrl+B W |
Увеличить ширину окна | — | Ctrl+B Ctrl+N→ или Ctrl+B Alt+→ (увеличивает с большим шагом) |
Уменьшить ширину окна | — | Ctrl+B Ctrl+← |
Воспроизводить нажатия клавиш во всех открытых окнах | – | tmux set synchronize-panes on |
Закрыть текущее окно | Ctrl+A X | Ctrl+B X |
Создаем сессии, упражняемся с окнами и делаем другие трюки в Screen на нашем авторском курсе «Администрирование Linux. Базовый уровень»!