Gibt es eine einfache Möglichkeit, eine Byobu-Sitzung so zu speichern, dass ich sie nach einem Neustart erneut laden kann?


28

Ich verstehe, dass es eine Möglichkeit gibt, Fenster zu definieren, die in einer Sitzung geöffnet werden, indem Konfigurationsdateien in $ BYOBU_CONFIG_DIR gespeichert werden. Aber gibt es eine Möglichkeit (Befehl oder Skript), die aktuelle Sitzung (dh die Fenster und ihre Namen usw.) so zu speichern, dass sie nach einem Neustart wiederhergestellt werden kann?




Viele der Skripte und Vorschläge, die oben und unten verlinkt sind, scheinen auf Vanilla TMUX zu funktionieren, aber nicht unbedingt auf Byobu, was es schwierig macht, sie zu verwenden, wenn Sie Byobu gewohnt sind / mögen. Es wäre großartig, wenn diese Art von Funktion in Zukunft für byobu (und tmux ohne zusätzliche Skripte und Plugins) verfügbar wäre. Ich würde mich freuen, wenn nur Fenster- / Registerkartennamen und Pfade wiederhergestellt würden, aber die Geschichte wäre auch großartig.
Nick

Vielleicht hilft das: byobu-layout- Speichern und Wiederherstellen von byobu-tmux-Layouts.
Pablo A

Antworten:


1

Interaktive Sitzungen überleben Neustarts scheinen den gesamten Zweck von Neustarts zu vereiteln, nämlich (zumindest teilweise) einen sauberen, sicheren Slate für den Neustart Ihres Systems zu erstellen.

Wenn Sie jedoch daran interessiert sind, wird es eine unbeholfene Verknüpfung geben: Verwenden Sie einen Linux-Container (lxc), um Ihren Byobu-Abschnitt auszuführen, frieren Sie ihn ein, wenn Sie das Host-System neu starten möchten, und starten Sie ihn dann mit lxc-restart neu Behälter, und tauen Sie es auf. Dadurch erhalten Sie Ihre Byobu-Sitzung so zurück, wie Sie sie verlassen haben (natürlich ohne die SSH-Sitzungen).

Einziges Problem ist. lxc-restart von einer Konfigurationsdatei wird auf der sourceforge-Seite angekündigt , ist aber noch nicht implementiert.

Schließlich gibt es noch eine andere Möglichkeit, die Sie bei Github finden können : Ich bin nicht sicher, was genau Sie sich wünschen, wenn Sie byobu wie früher neu starten, also bin ich nicht sicher, ob dies wirklich das ist, wonach Sie suchen, aber es bietet einige Funktionalitäten, die Sie vielleicht nützlich finden. Prost.


0

IMP: Verwenden Sie diese Lösung nicht in Ihrer Entwicklungsumgebung. Es könnte Ihre Sitzung durcheinander bringen.

Es gibt einen teilweise erfolgreichen Weg, dies zu tun.

Laden Sie dieses Skript hier herunter, speichern Sie es in Ihrem Bin-Ordner und machen Sie es ausführbar. Vergiss nicht, es als tmux-session zu speichern.

Arbeiten Sie jetzt weiter in Byobu. Wenn Sie fertig sind und einen Neustart durchführen möchten, geben Sie einfach Folgendes ein:

tmux-session save

Öffnen Sie nach dem Neustart byobu und geben Sie Folgendes ein:

tmux-session restore

Das funktioniert jetzt, weil byogu tmux als Backend verwendet. Aber warum habe ich gesagt, dass es teilweise funktioniert? Da nicht alle Konfigurationen mit dem obigen Skript wiederhergestellt werden. Es werden nur die Registerkarten wiederhergestellt, aber ihre Position und andere Dinge werden nicht wiederhergestellt.

Es gibt eine andere Lösung mit: tmux-resurrect . Aber im Moment spielt es sich nicht gut mit byobu. Siehe das hier gepostete Problem: Spielt nicht cool mit byobu

FAZIT : Bisher gibt es keine vollständige Lösung, um dies zu erreichen. Aber ich hoffe, eines Tages wird es soweit sein. Eines Tages wird einer von uns die Lösung schreiben.


Vielen Dank für das Skript shivams, aber es hat meine Byobu-Sitzung nach der Wiederherstellung tatsächlich durcheinander gebracht. Ich konnte keine Registerkarten erstellen / umbenennen / und meine Umgebung war durcheinander. Das Schließen und Neustarten von byobu hat es wieder normal gemacht, aber die Leute sollten dieses Skript unbedingt testen, bevor sie es verwenden. FWIW Ich verwende die Version und Konfiguration von byobu, die Teil der Fedora 20-Standardrepositorys ist.
Nick

1
Ja. Deshalb ist es eine Teillösung. Trotzdem danke für den Kommentar. Ich habe jetzt eine Warnung hinzugefügt.
Shivams
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.