如何增加GNU Screen中滚动缓冲区的大小

10

我该如何增加可以在screen中查看的行数?

我希望能够从运行screen -S <screen_name>时开始查看所有行,一直到当前操作的行。例如,如何将缓冲区长度增加到约50000行?

我已经尝试过^a :scrollback <number>,但它并没有增加我可以在当前终端中查看的行数。


最简单的方法是使用 tee 或重定向(>)将结果保存到文件中,然后使用 less 查看该文件。 - gnuyoga
删除对PuTTY的引用,因为它似乎与问题无关。@gnuyoga:screen还可以使用logfile <filename>(默认值:screen.log)和log(切换开/关)命令将任何窗口记录到文件中。 - neirbowj
2个回答

12

您无法在当前会话中以补救措施的方式增加回滚缓冲区的长度,以恢复已经被丢弃的旧行。但是,如果您更改当前的scrollback参数设置(C-a :scrollback <number>),它将为未来的终端输出添加更多空间。您还可以设置defscrollback参数,以影响新窗口的初始scrollback设置。

如果您想为所有新的screen会话的所有窗口设定默认值,则需要创建一个~/.screenrc文件,并写入以下内容:

defscrollback 50000

或者,如果您只想有时获得大滚动条,请将其放在单独的文件中,例如~/screenrc-50k-scrollback,然后像这样调用screen

screen -S <screen_name> -c ~/screenrc-50k-scrollback

使用C-a iinfo命令)检查当前滚动缓冲区容量。

(22,1)/(25,40)+50000 +flow G0[BBBB] 0(bash)
               ^^^^^

参考资料:GNU Screen手册,Scrollback部分


对于我来说,在Debian Jessie/testing上,使用screen 4.4版本,在.screenrc文件中的选项是scrollback 50000。 - daks
在Ubuntu 16.04.3 LTS上为我定义滚动条。 - Andy Matteson

-1

我不确定我是否正确理解了你的问题,但如果是这样,我认为你可以在会话配置左侧的窗口菜单项中找到滚动行数属性的值。


问题已被修改,我的回答与原始问题相关。 - wizard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接