Как управлять и восстанавливать сессии Tmux в Linux

Tmux — это мультиплексор терминала, который предлагает широкий спектр полезных функций и поддерживается удивительным количеством плагинов, созданных сообществом. Мультиплексоры терминала, такие как tmux и Screen, придают вашему терминальному окну суперпродуктивные возможности, позволяя открывать несколько сессий в вкладках и разделенных экранах. В сочетании с несколькими инструментами терминала и сохранением сессий вы также можете восстанавливать сессии Tmux после жесткой перезагрузки.
Также читайте: Как поделиться сессией терминала с друзьями
Установка tmux
Подготовить и запустить tmux на вашей системе относительно просто, если вы используете дистрибутив Linux.
Для Ubuntu это означает вызов apt из вашего терминала и установку пакета из официального репозитория дистрибутива. Для других дистрибутивов используйте ваш встроенный менеджер пакетов для выполнения установки. (tmux доступен на большинстве дистрибутивов.)
sudo apt-get install tmux
Поняли? Отлично! Теперь давайте разделим наш экран.
Создание окон и панелей
В tmux используются два термина для описания основных типов конфигураций макета, которые мы можем создать. “Окна” — это термин tmux для вкладок. Создание нового окна создаст вкладку, к которой вы сможете переключиться с помощью простой команды.
“Панели”, с другой стороны, — это разделения в текущем “Окне” или вкладке, к которым также можно переключаться с помощью команды.
Прежде чем мы начнем создавать их, важно отметить, что tmux является модальным по своей функции. Это означает, что взаимодействия с вашей сессией терминала и с tmux происходят в отдельных “режимах”. Это полезно, так как вы можете использовать каждую отдельную сессию терминала, которую вы открываете, не активируя случайно команду tmux.
Чтобы получить доступ к tmux и начать вводить команды, сначала мы начнем нашу новую сессию tmux и назовем ее:
tmux new -s babytmux
Не стесняйтесь менять имя (“babytmux”), конечно!
Tmux должен открыться немедленно, и для вас должна запуститься новая сессия оболочки. Но мы хотим больше одной, помните?
Чтобы войти в режим команд tmux, нам нужно использовать префикс. Обычно это Ctrl и b, нажимаемые одновременно. В одиночку вы не заметите никаких изменений, нажав префикс, но мы можем вводить команды, введя : сразу после. Чтобы выйти из режима команд, либо завершите команду, нажав Enter, либо нажмите клавишу ESC, чтобы выйти без внесения изменений.
Совет: Получите нашу шпаргалку по горячим клавишам Tmux для полного обзора основных сочетаний клавиш.
Мы используем сочетание клавиш для создания горизонтального разделения: нажмите Ctrl и b, затем “

Круто! Теперь мы можем перемещаться между двумя с помощью следующего: Ctrl и b, затем o.

Каждая сессия независима от другой, поэтому мы можем открывать отдельные программы в каждой. Давайте разделим наш экран на четыре части вертикальными разделениями и попробуем: Ctrl и b, затем %
Откройте что угодно в каждой панели, и оно будет продолжать работать, пока вы получаете доступ к другим.

Чтобы создать окно, используйте следующее: Ctrl и b, затем c
Вы можете вернуться к предыдущему окну или перейти к следующему окну с:
Ctrl и b, затем p
или
Ctrl и b, затем n

Строка состояния внизу экрана показывает вам процесс, который выполняется в каждом окне, и в каком окне вы находитесь (с “*”) для справки.
Чтобы выйти из этой сессии tmux, используйте следующее: Ctrl и b, затем введите :detach-client

Ваша сессия не остановится, если только ваш компьютер не будет перезагружен или вы не отмените ее вручную. Чтобы снова получить к ней доступ, используйте следующее:
tmux a -t babytmuxЧтобы создать по-настоящему бессмертные сессии tmux, которые могут вернуться после перезагрузки, нам нужно установить один или два плагина.
Установка плагинов
Использовать плагины в tmux относительно просто. Однако есть менеджер плагинов, который мы можем установить, чтобы упростить последующие установки плагинов.
Менеджер плагинов
Чтобы установить менеджер плагинов Tmux, мы склонируем его файлы с Github с помощью следующего кода:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpmЗатем добавьте следующий код в “ .tmux.conf “ в вашей домашней папке:
# Список плагинов
set-g @plugin 'tmux-plugins/tpm'
set-g @plugin 'tmux-plugins/tmux-sensible'
# Другие примеры:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin '[email protected]/user/plugin'
# set -g @plugin '[email protected]/user/plugin'
# Инициализировать менеджер плагинов TMUX (сохраните эту строку в самом низу tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'
Как вы можете видеть выше, нам нужно будет добавить имя пользователя github и имя плагина (найденное в URL плагина на github) для каждого плагина, который мы хотим установить с этого момента. Менеджер плагинов позаботится об остальном. Используйте этот код, чтобы запустить менеджер плагинов:
tmux source ~/.tmux.confТеперь, для плагина, который нам нужен для восстановления сессий после перезагрузки, продолжайте читать.
Восстановление
Tmux Resurrect делает именно то, что подразумевает его название, и возвращает вашу сохраненную сессию к жизни с помощью простой команды.
Этот плагин можно установить, добавив следующее в ваш файл .tmux.conf:
set-g @plugin 'tmux-plugins/tmux-resurrect'
Теперь позвольте менеджеру плагинов Tmux установить его, используя следующую команду в tmux: Ctrl и b, затем I (это “i” в ЗАГЛАВНЫХ буквах.)

После установки мы можем начать сессию и сохранить ее с помощью следующего: Ctrl и b, затем Ctrl + s
Чтобы восстановить нашу сессию, мы можем использовать Ctrl и b, затем Ctrl + r

Используя вышеуказанное, вы можете поддерживать бессмертную сессию tmux со всеми вашими предпочтительными инструментами и процессами на месте даже после перезагрузки. Попробуйте и исследуйте больше возможностей tmux, чтобы получить максимальную отдачу от вашего терминала.