Answers:
您可以使用xev
(X个事件)执行此操作。
启动您要监视的应用程序,例如xman &
。
然后,用于wmctrl -l
列出X个窗口。它可能看起来像这样:
0x00400009 0 VLAN-.... urxvt
0x00e0007a 0 VLAN-.... Iceweasel
0x00800011 0 VLAN-.... xman
您在第一列中需要窗口(十六进制)ID。要获得它,您可以使用grep
并获取第四列(应用程序名称,这对于您作为人类来说更自然)的行-当您拥有该行时,您可以将第一列与cut
(场-f1
,使用空白分隔符-d" "
分隔字段)。
您当然可以通过多种方式解析数据(以获取ID),甚至可以手动输入ID。(上面第二列中的零是桌面号。)
然后尝试
xev -id `wmctrl -l | grep xman | cut -d" " -f1` | tee event.txt
它将在与调用命令相同的终端中显示击键(以及更多)。另外,使用tee
,它将存储您在文件中看到的内容。最好将输出显示stdout
在终端上,因为这将立即向您显示操作。另外,如果您不将命令作为后台进程运行(使用&
),则可以使用以下命令轻松终止该命令Ctrl-C.
注意它适用于urxvt和xman,但由于某些原因,它对于上面清单中的Iceweasel失败(它记录了一些东西,但是(到目前为止)它没有像其他示例一样清楚地显示关键事件)。