Есть ли простой способ сохранить сеанс byobu, чтобы я мог перезагрузить его после перезагрузки?

28

Я понимаю, что существует способ определения окон, которые открываются в сеансе, путем сохранения файлов конфигурации в $ BYOBU_CONFIG_DIR. Но есть ли способ (команда или сценарий) сохранить текущий сеанс (т. Е. Окна, их имена и т. Д.), Чтобы он мог быть восстановлен после перезагрузки?

hargriffle
источник
Да Ответил здесь superuser.com/questions/440015/…
xizdaqrian
Многие скрипты и предложения, связанные выше и ниже, похоже, работают на vanilla tmux, но не обязательно на byobu, что затрудняет их использование, если вы привыкли к / как byobu. Было бы здорово, если бы такая функция появилась в byobu (и tmux без дополнительных скриптов и плагинов) в будущем. Я был бы рад только восстановлению названий окон и вкладок и путей, но история была бы тоже великолепна.
Ник
Может быть, это поможет: byobu-layout- Сохранить и восстановить макеты byobu-tmux.
Пабло А

Ответы:

1

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

Тем не менее, если вы действительно заинтересованы в этом, будет неуклюжий ярлык: используйте контейнер linux (lxc) для запуска раздела byobu, остановите его, когда вы собираетесь перезагрузить хост-систему, а затем используйте lxc-restart для перезапуска вашего контейнер, и разморозить его. Это вернет вам ваш сеанс byobu, когда вы его оставили (за исключением ssh-сеансов, конечно).

Единственная проблема. lxc-restart из файла конфигурации объявлен на странице sourceforge , но еще не реализован.

Наконец, есть еще одна возможность, которую вы можете найти на github : я не уверен, что именно вы хотите от перезапуска byobu, как это было раньше, поэтому я не уверен, действительно ли это то, что вы ищете, но он действительно дает некоторые функциональные возможности, которые вы можете найти полезными. Приветствия.

MariusMatutiae
источник
0

IMP: Пожалуйста, не используйте это решение в вашей среде разработки. Это может испортить вашу сессию.

Есть частично успешный способ сделать это.

Загрузите этот скрипт здесь и сохраните его в папке bin и сделайте его исполняемым. Не забудьте сохранить его как tmux-сессию.

Продолжай работать в бёбу. Когда вы закончите и собираетесь перезагрузиться, просто введите:

tmux-session save

После перезагрузки откройте byobu и введите:

tmux-session restore

Теперь это работает, потому что byogu использует tmux в качестве бэкэнда. Но почему я сказал, что это работает частично? Потому что не вся конфигурация восстанавливается с помощью вышеуказанного скрипта. Восстанавливаются только вкладки, но их расположение и прочие вещи не восстанавливаются.

Есть другое решение, использующее: tmux-resurrect . Но пока, это не играет круто с Бёбу. Смотрите опубликованную здесь проблему: не играет круто с byobu

ВЫВОД : Пока нет полного решения для достижения этой цели. Но я надеюсь, что однажды будет. Однажды один из нас напишет решение.

shivams
источник
Спасибо за сценарий shivams, но он фактически испортил мой сеанс byobu после восстановления. Я не смог создать / переименовать / вкладки, и моя среда была испорчена. Закрытие и перезапуск byobu вернул его в нормальное состояние, но люди обязательно должны протестировать этот скрипт перед его использованием. Я использую любую версию и конфигурацию byobu, которая является частью стандартных репозиториев Fedora 20.
Ник
1
Да. Вот почему это частичное решение. В любом случае, спасибо за комментарий. Я добавил предупреждение сейчас.
Шивамс