Linux 完全可滚动窗口内容的xterm转储
我想知道是否有人知道在linux上的xterm窗口中转储或复制所有可视消息的方法。非常重要的一点是,我不想知道如何发送一个命令,并为流1和流2创建其输出以及输入,因为这对我来说是众所周知的 我可以解释一下需要什么。你做了一些事情,并没有期望任何并发症,但比你得到的消息的als错误或正常输出页面。为了以后能看到,你应该能把它们放在一个文件中,只要你能用鼠标来回滚动,就可以确定数据在哪里。但现在可能不是滚动屏幕截图和滚动的时候 在这种情况下,我很乐意帮助我,如果你能看到完整的视图,包括所有你自己的输入和所有的消息,并且在你向后滚动时能看到它们的顺序,那就好了Linux 完全可滚动窗口内容的xterm转储,linux,dump,xterm,Linux,Dump,Xterm,我想知道是否有人知道在linux上的xterm窗口中转储或复制所有可视消息的方法。非常重要的一点是,我不想知道如何发送一个命令,并为流1和流2创建其输出以及输入,因为这对我来说是众所周知的 我可以解释一下需要什么。你做了一些事情,并没有期望任何并发症,但比你得到的消息的als错误或正常输出页面。为了以后能看到,你应该能把它们放在一个文件中,只要你能用鼠标来回滚动,就可以确定数据在哪里。但现在可能不是滚动屏幕截图和滚动的时候 在这种情况下,我很乐意帮助我,如果你能看到完整的视图,包括所有你自己的输
我真的不知道它存储在哪里,以及如何保存。我知道我可以转储全部内存并搜索xterm窗口的一部分,但我认为这有点过头了。有一个控制序列,我已经忘记了。这个问题提醒了我。在中,注意“打印所有页面”: 这可以追溯到1999年(),所以您的xterm中可能有它。您可以在shell命令中执行此操作,如下所示:
printf '\033[?11i'
注释会提到页面,该页面使用了相应的操作(可以通过translations
资源执行)。当然,这是在美国。相同的注释指向,其中提到了资源printtributes
。默认情况下,打印机的控制序列告诉xterm发送额外的控制字符(以重建视频属性)。可以修改资源(设置为0
)以抑制该操作。这甚至更古老()
如果没有这一点——可以想象,人们可以构造一个应用程序,它使用X SendEvent协议来构造一系列事件,这些事件将被解释为xterm操作,以便回滚、选择文本并通过剪贴板逐块复制文本。您甚至可以用Perl编写它(有一个用于的模块)。但说真的,没有
如果要捕获写入xterm的文本,可以在不同方法需要文本之前进行准备(请参阅):
- 启用xterm日志记录功能(因为它生成文件名,所以不太方便用户)。这可以使用“日志到文件(日志)”菜单项启用
- 使用打印机控制序列在写入行时写入行(同样,不是很友好,尽管有一个菜单项可以打开和关闭它,“重定向到打印机(打印重拨)”)
- 用于捕获到终端的所有输出。我使用它,因为它可以与任何POSIX类系统(甚至是Cygwin)上的任何终端协同工作
这些方法中的每一种都会生成一个包含转义/控制序列的文件,这需要过滤掉。使用SendEvent的假设程序原则上可以消除这一点。此外,这个问题是离题的,您可能应该向超级用户询问。可能可以使用
printerCommand
-类似于或如果您运行printf'\033[?11i'
终端在哪里“打印”to?手册似乎暗示它被写入了一个文件,但我不清楚是哪一个。请参阅printerCommand
资源,它允许您通过管道写入shell命令。尽管我承认这一点很尴尬,但我仍然担心我不知道您的意思。我找到了这一点,但在中加入了printerCommand
行>~/.Xresources
和调用xrdb
似乎无法捕获文件的任何输出-尽管xrdb-query
显示了我所期望的内容。在我的应用程序默认设置中,我有例如XTerm*printerCommand:dummy lpr
,而dummy lpr
脚本是cat>/tmp/lpr.out
printf '\033[?11i'