我知道有一种方法可以通过将配置文件保存在 $BYOBU_CONFIG_DIR 中来定义会话中打开的窗口。但是有没有一种方法(命令或脚本)可以保存当前会话(即窗口及其名称等),以便在重启后恢复?
答案1
让交互式会话在重启后继续存在似乎违背了重启的整个目的,而重启的整个目的(至少在一定程度上)是为了创建一个干净、安全的系统重新启动环境。
但是,如果你真的热衷于此,那么有一个笨拙的捷径:使用 Linux 容器 (lxc) 运行你的 byobu 部分,在即将重新启动主机系统时冻结它,然后使用 lxc-restart 重新启动你的容器,并解冻它。这将返回你离开时的 byobu 会话(当然,不包括 ssh-sessions)。
唯一的问题是。lxc-restart 从配置文件中宣布sourceforge 页面,但尚未实施。
最后,还有另一种可能性,你可以在github:我不确定你到底想通过重新启动 byobu 实现什么,所以我不确定这是否真的是你正在寻找的,但它确实提供了一些你可能会觉得有用的功能。谢谢。
答案2
进口商:请不要在您的开发环境中使用此解决方案。它可能会弄乱您的会话。
有一种实现此目的的方法,部分是成功的。
下载此脚本这里并将其保存在 bin 文件夹中并使其可执行。记得将其保存为 tmux-session。
现在,继续在 byobu 中工作。完成并准备重新启动后,只需输入:
tmux-session save
重启后,打开 byobu 然后输入:
tmux-session restore
现在,这有效了,因为 byogu 使用 tmux 作为后端。但为什么我说它部分有效?因为,使用上述脚本并不能恢复所有配置。只有选项卡被恢复,但它们的位置和其他内容并未恢复。
还有另一种解决方案:tmux-复活。但目前,它无法与 byobu 兼容。请参阅此处发布的问题:不与 byobu 一起玩
结论:到目前为止,还没有完整的解决方案来实现这一点。但我希望有一天会有。总有一天,我们中的一个人会写出解决方案。