防止(xfce)终端随输出滚动

我正在使用Xubuntu。当我运行一些会在终端产生大量输出的东西(比如我的代码,通常是这样....!)时,我发现无法“冻结”屏幕,以便查看运行中的特定点。
例如:我的代码正在生成输出,通常情况下(在其他机器上),我可以向上滚动鼠标滚轮。这实质上停止了终端跟随最新的输出到屏幕,并且您可以在生成更多输出的同时自由地查看输出。要追赶进度,我通常会按下键盘上的向下箭头,它会跳转到最新的一行并继续跟随。
xfce4-terminal 0.6.1不遵循这种行为,我想知道是否有办法启用它。如果描述得不太好,请谅解。

我应该补充一下...目前的行为是:当我试图停留在输出的某个点时,只要有新的输出出现,它就会立即跳到那个位置上 - 真是令人烦恼! - Dave
你可以使用more命令一次在屏幕上看到输出。这不会实时显示输出,即使屏幕停止,程序也会继续运行。要做到这一点,你可以使用"管道"(|)(它位于回车键上方,与反斜杠键相同)。你可以将命令写作my-code | more,请注意(|)前后的空格。运行命令后,你会看到一页输出和屏幕底部的"more",当你按下"空格"键时,它将滚动到下一页,直到达到输出的末尾。 - TrailRider
嗨TailRider,谢谢你的评论:这并不是理想的情况,我宁愿不使用管道 - 至少当我想要“追赶”以监控进展时,那将需要大量按下空格键!话虽如此,一个选项(作为一个实验)是重定向到一个文件,然后尝试使用“tail -f” - 或许这会给我带来不同的终端行为?我会试一试。 - Dave
我并不认为这是你想要的,但这是我知道的唯一的解决办法。我相信还有其他方法,但超出了我的知识范围。使用"tail -f"可能有效,但由于信息更新时会滚动,所以可能并没有比默认行为好多少...我不确定。很抱歉我无法提供更多帮助,我只懂一些小技巧,离专家还有很大距离... - TrailRider
例如:我的代码正在生成输出,通常(在其他机器上)我可以向上滚动鼠标滚轮。这实质上停止了终端跟随最新的输出到屏幕,并且您可以在生成更多内容的同时自由地查看输出。戴夫,请问你能提供一个能够满足你需求的终端(和操作系统)的名称吗? - user25656
3个回答

打开Xfce终端首选项:编辑 > 首选项...常规选项卡的滚动部分,取消选中输出时滚动复选框。
通过这个选项,终端仍然会在有新的输出时自动滚动,但如果你向上滚动,它将停止自动滚动。

如果有人感兴趣,以下是如何使用命令行完成此操作的方法:
grep -q ScrollingOnOutput ~/.config/xfce4/terminal/terminalrc || echo "ScrollingOnOutput=FALSE" >> ~/.config/xfce4/terminal/terminalrc && sed -i -E 's/^ScrollingOnOutput=.*/ScrollingOnOutput=FALSE/' ~/.config/xfce4/terminal/terminalrc

要在终端手动执行此操作,我使用vim打开了terminalrc文件。
$ vi ~/.config/xfce4/terminal/terminalrc

并添加了以下行:
ScrollingOnOutput=FALSE

其他开放的终端立即意识到了这个变化。