如何在重新启动/崩溃后恢复 Linux 终端(如 MacO)回滚缓冲区的内容?

如何在重新启动/崩溃后恢复 Linux 终端(如 MacO)回滚缓冲区的内容?

MacOs 有一个非常有用的功能,可以在重新启动/崩溃后保留回滚缓冲区的内容。可以在 Linux 中重新创建吗?

tmux-resurrect并且tmux-continuum不要这样做。 (编辑:他们这样做,请参阅下面的答案)KDE 的保存会话功能不这样做。我见过的终端模拟器都没有这样做。

是否至少有一个脚本/cron 作业将回滚的输出转储到 中的文件中/tmp directory?这听起来像是一个之前必须考虑过的基本问题(所有计算机最终都会崩溃,毕竟失去工作并不有趣)。

答案1

我正在寻找的内容可以通过将此行与 tmux 插件结合添加到 .tmux.conf 来完成tmux-resurrect

set -g @resurrect-capture-pane-contents 'on'

tmux 连续体将定期保存会话(我设置为每 5 分钟保存一次)。

另外值得注意的是,在我有机会检查窗格内容文件之前,有几次 tmux-continuum 覆盖了窗格内容文件,某种形式的快照对我来说派上了用场。对于带有 autozsys 的 zfs 可以将它们保存在 ~/.zfs/snapshot/autozsys_ 中{snap_id}/.tmux/resurrect/pane-contents.tar.gz

为了更容易阅读(在 bash 中保留颜色)可以使用以下命令读取此存档的内容:

zless -SR pane_contents.tar.gz

并用(改变{搜索查询}):

tar xzf .tmux/resurrect/pane_contents.tar.gz --to-command 'grep --label="$TAR_FILENAME" -H **{search_query}** ; true'

相关内容