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?
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.
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:
After rebooting, open byobu and then type:
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.
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.