Czy istnieje prosty sposób na zapisanie sesji Byobu, dzięki czemu mogę ją ponownie załadować po ponownym uruchomieniu?

28

Rozumiem, że istnieje sposób definiowania okien otwieranych w sesji przez zapisywanie plików konfiguracyjnych w $ BYOBU_CONFIG_DIR. Ale czy istnieje sposób (polecenie lub skrypt), aby zapisać bieżącą sesję (tj. Okna i ich nazwy itp.), Aby można ją było przywrócić po ponownym uruchomieniu?

krwisty
źródło
Tak Odpowiedzi tutaj superuser.com/questions/440015/…
xizdaqrian
Wiele skryptów i sugestii połączonych powyżej i poniżej wydaje się działać na waniliowym tmuxie, ale niekoniecznie na byobu, co czyni je trudnymi w użyciu, jeśli jesteś przyzwyczajony / lubisz byobu. Byłoby wspaniale, gdyby tego rodzaju funkcja pojawiła się w BYOBU (i Tmux bez dodatkowego skryptu i wtyczek) w przyszłości. Byłbym szczęśliwy, gdyby przywrócono tylko nazwy okien / kart i ścieżki, ale historia też byłaby świetna.
Nick
Może ta pomoc: byobu-layout- Zapisywanie i przywracanie układów Byobu-Tmux.
Pablo A

Odpowiedzi:

1

Wydaje się, że interaktywne sesje przetrwały ponowne uruchomienie, ale wydaje się, że pokonało to cały cel ponownego uruchomienia, który polega (przynajmniej częściowo) na stworzeniu czystej, bezpiecznej listy zadań do ponownego uruchomienia w systemie.

Jednak, jeśli naprawdę chcesz to zrobić, pojawi się niezgrabny skrót: użyj kontenera linux (lxc), aby uruchomić sekcję byobu, zamroź go, gdy masz zamiar zrestartować system hosta, a następnie użyj lxc-restart, aby ponownie uruchomić pojemnik i odmrozić go. Zwróci ci twoją sesję byobu, gdy ją opuściłeś (oczywiście bez sesji ssh).

Jedyny problem to. Ponowne uruchomienie lxc z pliku konfiguracyjnego jest ogłaszane na stronie sourceforge , ale nie zostało jeszcze zaimplementowane.

Na koniec jest jeszcze jedna możliwość, którą możesz znaleźć na github : nie jestem pewien, czego dokładnie chciałbyś od restartowania byobu, tak jak kiedyś, więc nie jestem pewien, czy to naprawdę jest to, czego szukasz, ale zapewnia pewne funkcje, które mogą okazać się przydatne. Twoje zdrowie.

MariusMatutiae
źródło
0

IMP: Proszę nie używać tego rozwiązania w środowisku programistycznym. Może to popsuć sesję.

Jest to częściowo udany sposób na zrobienie tego.

Pobierz ten skrypt tutaj i przechowuj go w folderze bin, aby był wykonywalny. Pamiętaj, aby zapisać go jako sesję tmux.

Teraz kontynuuj pracę w byobu. Kiedy skończysz i zamierzasz zrestartować komputer, po prostu wpisz:

tmux-session save

Po ponownym uruchomieniu otwórz byobu, a następnie wpisz:

tmux-session restore

Teraz działa, ponieważ byogu używa tmux jako backendu. Ale dlaczego powiedziałem, że działa częściowo? Ponieważ nie wszystkie ustawienia są przywracane przy użyciu powyższego skryptu. Przywracane są tylko karty, ale ich lokalizacja i inne rzeczy nie są przywracane.

Istnieje inne rozwiązanie wykorzystujące: tmux-resurrect . Ale na razie nie działa fajnie z byobu. Zobacz zamieszczony tutaj problem: Nie działa fajnie z byobu

WNIOSEK : Jak dotąd nie ma kompletnego rozwiązania pozwalającego to osiągnąć. Ale mam nadzieję, że pewnego dnia będzie. Pewnego dnia jeden z nas napisze rozwiązanie.

Shivams
źródło
Dzięki za shivamy skryptowe, ale po przywróceniu pomieszało mi to sesję byobu. Nie mogłem utworzyć / zmienić nazwy / kart, a moje środowisko zostało popsute. Zamknięcie i ponowne uruchomienie byobu przywróciło go do normy, ale ludzie zdecydowanie powinni przetestować ten skrypt przed użyciem. FWIW Używam dowolnej wersji i konfiguracji byobu, która jest częścią domyślnych repozytoriów Fedory 20.
Nick
1
Tak. Dlatego jest to częściowe rozwiązanie. W każdym razie dzięki za komentarz. Dodałem teraz ostrzeżenie.
shivams