저는 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
그래서 저는 몇 가지 조사를 한 결과 x11 설치에서 로깅 모듈이 누락되어 문제가 발생할 수 있다는 사실을 발견했습니다. 기본 /etc/X11/xorg.conf를 만들고 다음 줄을 추가했습니다.
Section "Module"
Load "record"
EndSection
다시 시작한 후에는 아무런 차이를 찾을 수 없습니다. 아직 이 모듈이 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"
그리고:
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 [...]
이 게시물은 다음에서 이동되었습니다.RaspberryPi.stackexchange.com.
답변1
Python을 시작하고 실행하여 나머지 pymouse 없이도 테스트할 수 있습니다.
from Xlib.display import Display
display = Display()
display.record_create_context
어느 것을 인쇄해야합니까?
<bound method Display.create_context of <Xlib.display.Display instance at ...>>
에 해당하는 것으로 보인다
$ xdpyinfo | grep -i record
RECORD
( number of extensions:
전체 출력에서.)
후자가 나타나지 않으면 X 서버가 이를 지원하지 않는 것입니다.2012년 7월 코어서버 편입- 이는 또한 모듈을 로드하려는 시도가 작동하지 않는 이유를 설명합니다. 약 4년 전부터 로드할 모듈이 없었습니다.
python-xlib
자체적으로는 record
2007년 버전 0.14에서 지원되었기 때문에 구식이 될 가능성은 적습니다...
답변2
http://mirrordirector-mb.raspbian.org/raspbian/pool/main/x/xmacro/
이것은 매크로 레코더입니다. 컴파일되지만 말한 대로 작동한다고 생각합니다. 테스트해보지는 않았지만, 무엇이 문제인지 알 수 없는 파이썬 프로그램으로 해킹하는 것보다 훨씬 쉬운 것 같습니다.