Is there an easy way to save a byobu session such that I can reload it after a reboot?

12,391

Solution 1

Having interactive sessions survive reboots seems to defeat the whole purpose of reboots, which is (at least in part) to create a clean, safe slate to restart to your system.

Yet, it you are really keen on this, there will be a clumsy shortcut: use a linux container (lxc) to run your byobu section, freeze it when you are about to reboot the host system, then use lxc-restart to restart your container, and unfreeze it. This will return you your byobu session as you left it (minus the ssh-sessions, of course).

Only problem is. lxc-restart from a configuration file is announced in the sourceforge page, but is not implemented yet.

Lastly, there is another possibility, which you may find on github: I am not sure what exactly you wish from restarting byobu as it once was, so I am not sure whether this is really what you are searching for, but it does provide some functionalities which you may find useful. Cheers.

Solution 2

IMP: Please do not use this solution in your development environment. It might mess up your session.

There is a partially successful way of doing this.

Download this script here and keep it in your bin folder and make it executable. Remember to save it as tmux-session.

Now, keep on working in byobu. When you are done and about to reboot, just type:

tmux-session save

After rebooting, open byobu and then type:

tmux-session restore

Now, this works because byogu is using tmux as backend. But why did I say it works partially? Because, not all configuration is restored using the above script. Only the tabs are restored, but their location and other things are not restored.

There is another solution using : tmux-resurrect. But for now, it doesn't play cool with byobu. See the issue posted here : Doesn't play cool with byobu

CONCLUSION: So far, there is no complete solution to achieve this. But I hope one day, there will be. One day, one of us will write the solution.

Share:
12,391

Related videos on Youtube

hargriffle
Author by

hargriffle

Updated on September 18, 2022

Comments

  • hargriffle
    hargriffle over 1 year

    I understand that there is a way of defining windows that are opened in a session by saving configuration files in $BYOBU_CONFIG_DIR. But is there a way (command or script) to save the current session (i.e. the windows and their names etc) such that it can be restored after a reboot?

    • Admin
      Admin over 10 years
    • Admin
      Admin about 10 years
    • Admin
      Admin over 9 years
      A lot of the scripts and suggestions linked above and below seem to work on vanilla tmux but not necessarily on byobu, which makes them hard to use if you're used to/like byobu. It would be great if this kind of feature came to byobu (and tmux without additional script & plugins) in the future. I would be happy with just window/tab names and paths restored, but history would be great too.
    • Admin
      Admin about 6 years
      Maybe this help: byobu-layout - Save and restore byobu-tmux layouts.
  • Nick
    Nick over 9 years
    Thanks for the script shivams, but it actually messed up my byobu session after restoring. I wasn't able to create/rename/tabs and my environment was messed up. Closing and restarting byobu brought it back to normal but people should definitely test this script before using. FWIW I'm using whatever version and config of byobu that is part of the Fedora 20 default repositories.
  • shivams
    shivams over 9 years
    Yes. That is why it is partial solution. Anyways, thanks for the comment. I have added a warning now.