假设我有一个当前正在运行的屏幕会话,我正在通过putty进行交互。我已经意识到滚动缓冲区太小,想增加它没有开始一个新的屏幕会话。
有办法做到这一点吗?
手册页解释了你可以在运行会话中输入Ctrl+一个, :,然后发出scrollback <num>命令来进入命令行模式。
scrollback <num>
按Ctrl+一个,然后按:,然后键入
scrollback 10000
例如,要获得10000行缓冲区。
您还可以通过添加来设置默认的滚动行数
defscrollback 10000
到你的~/.screenrc文件。
~/.screenrc
要滚动(如果您的终端默认不允许),按Ctrl+一个,然后按Esc,然后滚动(通常的Ctrl+F用于下一页,Ctrl+一个用于上一页,或者只用鼠标滚轮/两个手指)。要退出滚动模式,只需按Esc。
另一个提示:Ctrl+一个然后我显示当前缓冲区设置。
有一个最小数量的“默认”缓冲区,当你启动一个“屏幕”会话在你的“putty会话”。我在工作中经常使用屏幕,所以我可以告诉你,你不会有'屏幕'缓冲和放大器的组合;'putty'缓冲区在你的'screen'会话。
通过添加defscrollback 10000来设置默认的滚动行数 到你的~/.screenrc文件是正确的解决方案。< / p >
顺便说一下,我在./screenrc文件中使用了“defscrollback 200000”。
./screenrc
WARNING: setting this value too high may cause your system to experience a significant hiccup. The higher the value you set, the more virtual memory is allocated to the screen process when initiating the screen session.
我设置了~/。Screenrc到“defscrollback 123456789”;当我启动一个屏幕时,我的整个系统冻结了10分钟,然后才回到我能够杀死屏幕进程的点(当时消耗了16.6GB的VIRT mem)。
如上所述,我们有两种方法!
而且它是交互式的!并立即生效!
然后输入scrollback 1000000,然后点击输入
scrollback 1000000
你从屏幕上分离出来,然后回来!它将永远不变。
这是通过将defscrollback 1000000添加到.screenrc (in home)来完成的
defscrollback 1000000
.screenrc
defscrollback而不是scrollback (def代表默认)
defscrollback
scrollback
您需要知道的是文件是否没有创建!你创造了它 !
> cd ~ && vim .screenrc
然后你给它加上defscrollback 1000000 !
或者在一个命令中
> echo "defscrollback 1000000" >> ~/.screenrc
(如果尚未创建)
当你将默认值添加到.screenrc!重新连接时已经运行的屏幕将不会生效!在创建屏幕时运行.screenrc !这是有道理的!就像普通的控制台和shell启动一样!
并且所有新创建的屏幕都将具有设置的值!
检查类型CTRL + a后面跟着我
结果会是
还要注意,当您以交互方式更改它时!立即生效,采用默认值!
CTRL +一个后面跟着ESC(进入复制模式)。
然后使用向上,下来或PgUp PgDown进行导航
和ESC再次退出该模式。
(额外信息:复制时点击输入开始选择!然后输入再次复制!简单又酷)
以上就是对重要细节的总结!