我正在尝试在我的 RaspberryPi 上自动执行一些测试,并且我正在使用 python 的 pymouse 来执行一些模拟点击。在我的 Debian 上它工作正常,但是当涉及到 Raspbian 时,它在尝试导入 pymouse 时不断失败并显示此错误消息:
pi@pi ~/ $ python test.py
Traceback (most recent call last):
File "test.py", line 2, in <module>
from pymouse import PyMouse
File "/usr/local/lib/python2.7/dist-packages/pymouse/__init__.py", line 95, in <module>
from unix import PyMouse, PyMouseEvent
File "/usr/local/lib/python2.7/dist-packages/pymouse/unix.py", line 53, in <module>
class PyMouseEvent(PyMouseEventMeta):
File "/usr/local/lib/python2.7/dist-packages/pymouse/unix.py", line 54, in PyMouseEvent
ctx = display2.record_create_context(
File "/usr/lib/pymodules/python2.7/Xlib/display.py", line 216, in __getattr__
raise AttributeError(attr)
AttributeError: record_create_context
Run Code Online (Sandbox Code Playgroud)
所以我做了一些研究,发现我的问题可能是由我的 x11 安装中缺少记录模块引起的。我已经创建了一个默认的 /etc/X11/xorg.conf 并添加了以下几行:
Section "Module"
Load "record"
EndSection
Run Code Online (Sandbox Code Playgroud)
重新启动后,我找不到任何区别。我猜,该模块目前尚未在 Raspbian 中安装?我该如何安装?
更新:
我找到了其他人,他在 Fedora 上遇到了类似的问题,他记录了他/usr/lib/xorg/modules/extensions/librecord.so
丢失的事实。这似乎不是我的问题,因为文件存在。我还尝试使用Xorg -configure
创建一个新的 xorg.conf 并在之后重新启动我的 Pi。仍然没有运气。:-(
以下是一些可能有用的更多信息:
pi@pi ~/ $ grep LoadModule /var/log/Xorg.0.log
[169058.900] (II) LoadModule: "fbturbo"
[169058.912] (II) LoadModule: "fbdev"
Run Code Online (Sandbox Code Playgroud)
和:
pi@pi ~/ $ xdpyinfo name of display: :0.0 version number: 11.0 vendor string: AT&T Laboratories Cambridge vendor release number: 3332 [...] number of extensions: 7
BIG-REQUESTS
MIT-SHM
MIT-SUNDRY-NONSTANDARD
SHAPE
SYNC
XC-MISC
XTEST [...]
Run Code Online (Sandbox Code Playgroud)
这篇文章是从RaspberryPi.stackexchange.com迁移过来的。
小智 0
http://mirrordirector-mb.raspbian.org/raspbian/pool/main/x/xmacro/
这是一个宏记录器。它已编译,但我认为它按照它所说的那样工作。我还没有测试过它,但它似乎比用 python 程序进行黑客攻击要容易得多,而你却无法找出它的问题所在。