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

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?


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.