По умолчанию сеансы Tmux не сохраняются при перезагрузке системы. Это связано с тем, что сеансы Tmux хранятся в памяти операционной системы, а при перезагрузке системы вся память очищается.
Это может быть неприятно, если вы используете несколько сеансов, окон, панелей и программ.
Конечно, существуют полезные инструменты, позволяющие делать Tmux-среды постоянными при перезагрузках, но их настройка и поддержка могут быть сложными.
В этой статье мы познакомимся с двумя плагинами Tmux, которые работают вместе для сохранения и восстановления сеансов Tmux с минимальной настройкой:
- tmux-resurrect: Позволяет легко сохранять и восстанавливать среду Tmux после перезагрузки системы.
- tmux-continuum: Автоматизирует сохранение и восстановление среды Tmux, делая его еще более удобным.
Эти плагины автоматически сохраняют сеансы Tmux при выходе из Tmux, а затем восстанавливают их при повторном запуске Tmux.
1. Сохранение и восстановление окружения Tmux с помощью Tmux-resurrect
1.1. Что такое Tmux-resurrect?
Плагин tmux-resurrect сохраняет все детали окружения Tmux, чтобы вы могли легко восстановить его после перезагрузки системы или в любое другое время. Он очень прост в настройке и использовании и создан для того, чтобы вы чувствовали себя так, будто никогда не покидали Tmux.
Этот плагин позволяет сохранить и восстановить следующие элементы настройки Tmux:
- Все сессии, окна и панели, а также их порядок.
- Текущий рабочий каталог для каждой панели.
- Точное расположение панелей в окнах, даже при изменении масштаба.
- Активные и альтернативные сессии.
- Активные и альтернативные окна для каждой сессии.
- Окна с текущим фокусом.
- Активные панели в каждом окне.
- «Группированные сессии» для эффективного использования нескольких мониторов.
- И даже восстановление программ, запущенных в панели!
Однако важно отметить, что tmux-resurrect является идемпотентным, то есть он не будет пытаться восстановить уже существующие панели и окна. Единственным исключением является запуск Tmux только с одной панелью для восстановления предыдущего окружения Tmux; в этом случае эта единственная панель будет перезаписана. Это гарантирует, что среда Tmux останется чистой и последовательной.
В целом, плагин tmux-resurrect необходим всем, кто использует Tmux, поскольку он упрощает процесс сохранения и восстановления сессий Tmux, позволяя продолжить работу с прежнего места даже после перезагрузки системы.
1.2. Установка Tmux-resurrect
Требования для использования tmux-resurrect относительно просты: вам потребуется Tmux версии 1.9 или выше и Bash. Он без проблем работает в системах Linux, MacOS и Cygwin.
Tmux-resurrect можно легко установить с помощью Tmux Plugin Manager (TPM). Если вы еще не установили TPM, перейдите по следующей ссылке:
После установки TPM добавьте в .tmux.conf
следующие слова для включения tmux-resurrect:
set -g @plugin 'tmux-plugins/tmux-resurrect'
Сохраните файл и закройте его.
Находясь в сессии tmux, нажмите prefix + I
(заглавная i, как в Install), чтобы загрузить и установить плагин.
1.3. Сохранение среды Tmux
Чтобы сохранить среду Tmux, нажмите комбинацию клавиш Prefix + Ctrl-s
.
Внимание: По умолчанию для tmux используется префикс Ctrl + b.
В строке состояния появится уведомление с текстом „tmux environment saved“.
1.4. Восстановление среды Tmux
Вы можете восстановить закрытую среду tmux в любое время, нажав комбинацию клавиш Prefix + Ctrl-r
.
Чтобы убедиться в работоспособности tmux-resurrect, просто закройте сессию Tmux или выйдите из нее. Затем откройте новый сеанс Tmux и нажмите клавишу Prefix + Ctrl-s
. Откроется сохраненная сессия Tmux.
Примите во внимание, что сохранение и восстановление среды Tmux необходимо выполнять вручную. Если вы хотите автоматизировать этот процесс, то можете воспользоваться плагином tmux-continuum
, как описано в следующем разделе.
2. Автоматическое сохранение и восстановление сеансов Tmux с помощью Tmux-continuum
2.1. Что такое Tmux-continuum?
Tmux-continuum – это еще один плагин для Tmux, который работает совместно с tmux-resurrect
для автоматического сохранения и восстановления сессий. Он обеспечивает более автоматизированное управление сеансами.
2.2. Установка Tmux-continuum
Для установки плагина tmux-continuum рекомендуется использовать Tmux Plugin Manager (TPM). Прежде чем приступить к работе, убедитесь, что TPM установлен, а затем используйте TPM для установки плагина tmux-resurrect.
Добавьте плагин tmux-continuum в список плагинов TPM в .tmux.conf
:
set -g plugin 'tmux-plugins/tmux-resurrect'
set -g
plugin 'tmux-plugins/tmux-continuum'
Используйте префиксный ключ (prefix + I
) для получения плагина и его активации. После активации плагин будет бесшумно работать в фоновом режиме, не требуя дополнительных действий, постоянно сохраняя ваше Tmux-окружение.
Предупреждение: плагин Tmux-continuum пытается периодически запускаться, обновляя переменную status-right Tmux. Однако, если другой плагин, обычно темы, изменяет переменную status-right, функция автосохранения перестает работать. Чтобы решить эту проблему, просто переместите плагин Tmux-continuum в конец списка плагинов TPM. Это известная проблема с плагином Tmux-continuum. Надеюсь, она будет решена в будущих версиях.
2.3. Автоматическое сохранение
Этот плагин постоянно сохраняет среду Tmux в фоновом режиме через регулярные промежутки времени (каждые 15 минут). Он обеспечивает постоянную актуальность настроек Tmux, сохраняя ваши сессии, окна и панели.
2.4. Автоматическое восстановление
Этот плагин также обеспечивает автоматическое восстановление последней сохраненной среды Tmux при каждом запуске Tmux. Это означает, что бы ни случилось, если ваша машина запущена, Tmux будет находиться там в том состоянии, в котором вы оставили его во время последней сессии.
Чтобы включить эту функцию, просто добавьте set -g @continuum-restore 'on'
в ваш файл .tmux.conf
.
Следует отметить, что функция автоматического восстановления срабатывает исключительно при запуске сервера Tmux. Другие действия, такие как создание источника .tmux.conf
, не приведут к такому поведению.
Заключение
Вот и все. Плагины tmux-resurrect и tmux-continuum помогут вам добиться постоянства сеансов Tmux при перезагрузке системы, сохраняя и восстанавливая среду Tmux. Выберите любой из плагинов, наиболее соответствующий вашим потребностям и рабочему процессу.
Я использую оба плагина в своей среде Tmux и никогда не беспокоюсь о случайном закрытии терминала или перезагрузке системы.
Комментарии (0)