我在管理我工作的服务器时使用screen执行我的命令行任务。我通常运行小命令(主要是文件系统任务),但有时我运行更广泛的任务(如 DBA)。
这些任务的输出对我来说很重要。由于我将 Ubuntu 和 OS X(都是终端 Windows)用于我的任务,但我需要使用屏幕,因此滚动不可用,因此任何长输出(认为来自选择的 500 行表)对我来说都是不可见的。鼠标滚轮是不可能的。
当我说“滚动对我来说是不可见的”时,我的意思是:
我在考虑两种选择:
暂停(想想paginate)某个命令的输出。当输出开始时,它会让我阅读正在发生的事情,然后我按“Enter”,然后输出继续,直到没有更多显示。
在屏幕内滚动。但我不知道这是否可能。
当然,我不知道这些选项是否真的可行。如果是,如何实现?其他替代方案将受到欢迎。
我想使用screen
(从 GNOME 终端,通过ssh
)就像我使用 GNOME 终端一样,没有screen
,或者尽可能接近。具体来说:
在 GNOME 终端中,我可以使用鼠标滚轮、滚动条或Shift+ PgUp/向后滚动PgDn。在 中screen
,我必须进入复制模式 ( Ctrl+ A, [) 才能向后滚动(此后鼠标滚轮工作)。滚动行为可以改变(见这个答案和这个答案)但是这个解决方案有以下缺陷:
less
或打开文件时vim
,我可以使用鼠标滚轮在编辑器“窗口”上方滚动并查看终端的先前内容。可以使用altscreen on
(请参阅此答案)更改此行为,但唯一的影响是当编辑器关闭时,旧的终端内容会附加到终端窗口中的回滚缓冲区中,因此当我向回滚动时仍然可以看到编辑器废话使用我的鼠标滚轮。
这是否意味着不可能很好地滚动screen
?基本上,我想要的是能够像在复制模式下一样滚动(如果可能,使用鼠标滚轮和滚动条)但不必进入复制模式。
我.screenrc
将以下行添加到我的脚本中,这样当输出太大太长时,我可以使用鼠标在终端中上下滚动。但是,当我尝试获取.screenrc
脚本时。它抱怨说termcapinfo command not found
。
termcapinfo xterm ti@:te@
我不知道出了什么问题?为什么会这样?