Как сохранить и восстановить окружение Tmux при перезагрузке в Linux

По умолчанию сеансы Tmux не сохраняются при перезагрузке системы. Это связано с тем, что сеансы Tmux хранятся в памяти операционной системы, а при перезагрузке системы вся память очищается.

Это может быть неприятно, если вы используете несколько сеансов, окон, панелей и программ.

Конечно, существуют полезные инструменты, позволяющие делать Tmux-среды постоянными при перезагрузках, но их настройка и поддержка могут быть сложными.

В этой статье мы познакомимся с двумя плагинами Tmux, которые работают вместе для сохранения и восстановления сеансов Tmux с минимальной настройкой:

  1. tmux-resurrect: Позволяет легко сохранять и восстанавливать среду Tmux после перезагрузки системы.
  2. 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 и никогда не беспокоюсь о случайном закрытии терминала или перезагрузке системы.

Часто задаваемые вопросы

Что такое среда Tmux?

Среда Tmux – это настройка сеансов Tmux, окон, панелей и их конфигураций. Она также включает состояние запущенных программ и расположение рабочей области Tmux.

Зачем мне сохранять и восстанавливать среду Tmux?

Сохранение и восстановление среды Tmux позволяет сохранить рабочую область, активные программы и конфигурацию даже после перезагрузки системы или закрытия терминала. Это удобный способ продолжить работу с того места, на котором вы остановились.

В чем разница между tmux-resurrect и tmux-continuum?

tmux-resurrect: Этот плагин позволяет вручную сохранять и восстанавливать среду Tmux. Он обеспечивает гибкость и контроль над моментом сохранения и восстановления.tmux-continuum: Этот плагин обеспечивает непрерывное и автоматическое сохранение и восстановление среды Tmux. Он обеспечивает постоянное обновление сеанса Tmux и автоматически запускает Tmux при загрузке системы.

Нужно ли мне подробно настраивать эти плагины?

Нет, эти плагины разработаны для простоты использования. Возможно, вам потребуется добавить их в конфигурационный файл Tmux и включить определенные функции, но в целом они работают с минимальными настройками.

Существуют ли какие-либо особые требования для использования этих плагинов?

Как правило, вам потребуется Tmux версии 1.9 или выше, Bash и плагин tmux-resurrect в качестве зависимости для использования tmux-continuum.

Как часто сохраняется окружение Tmux при использовании этих плагинов?

По умолчанию окружение Tmux сохраняется каждые 15 минут при использовании tmux-continuum. Обычно этот интервал можно настроить в соответствии с вашими предпочтениями.

Работают ли эти плагины на различных операционных системах?

Да, и tmux-resurrect, и tmux-continuum протестированы и совместимы с Linux, OSX и Cygwin.

Зарубин Иван Эксперт по Linux и Windows

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

Вдохновлен ostechnix.com

Похожие статьи

Комментарии (0)