对于X windows来说我是新手但是对Unix有一定的了解。
我的项目要求我在X窗口系统上跟踪用户输入和输出。例如,如果GUI用于配置路由,我想知道使用了什么应用程序以及配置了什么路由。到目前为止,我已经探索了以下选项并取得了部分成功。
1)尝试使用LD_PRELOAD挂钩XDrawString和XDrawText等函数。 2)使用xwininfo获取窗口ID和xev等工具。 3)通过此论坛中的类似讨论,尤其是xev和xinput
1)如果X11静态链接,可能无效吗?不确定。 2)xev不记录用gedit编辑的文件或尝试从GUI重命名文件的按键事件 3)我正在尝试通过X windows系统内部。
到目前为止,我很沮丧。任何输入/指针都将受到赞赏。答案 0 :(得分:0)
我认为您需要Xnee项目中的cnee程序,该项目使用X窗口系统的Record扩展名。我为cnee看到的示例几乎总是与记录输入事件有关,但是根据Xnee手册https://xnee.files.wordpress.com/2012/10/xnee1.pdf,第3.2.1节(“记录”),“ Xnee可以记录整个X11协议,而不仅仅是鼠标和键盘事件。”
关于字体操作,我相信X字体设施(主要是通过X字体服务器)也随着时间而发展,因此,您关心的应用程序可能正在执行您可以跟踪的X字体操作。 / p>