退出复制/回滚模式时,退出byobu / screen

我发现,如果我进入“复制模式”或“回滚模式”在一个byobu屏幕,从它分离,并保持运行,缓冲区将填满,并最终阻止我在屏幕上运行的进程。 (可能是因为进程被阻止写入标准输出,因为没有人使用字节。)

这种行为是有破坏性的。 是否有可能例如

  1. 从屏幕上分离时自动退出复制/回滚模式,

    要么

  2. 一旦缓冲区已满,让位于复制/回滚模式的视图的位置向前移动,以允许进程继续执行

很高兴听到这方面的任何意见。

您的评估是正确的,在回滚模式窗口内运行的程序正在停止,因为它的输出缓冲区已满并且正在等待写入。 这种行为既正确又可取; 用户进入回滚模式来查看屏幕内容,但正如您所注意到的,当会话被分离时,这并不方便也不明显。

不幸的是,它在gnu-screen和tmux中似乎都缺less一个function。 byobu将无法将其修复到包装中,因为它无法检测给定窗口的回滚状态,也无法使用外部命令将窗口打破,尽pipe它可以像用户一样向terminal发送命令会,是否能够检测或记住回滚状态。 屏幕和tmux都没有包含一个function,当terminal分离时,它可以自动从回滚模式恢复。 补丁将是必需的。