Raspbian에서 Xorg 레코드 모듈을 어떻게 활성화합니까?


13

RaspberryPi에서 일부 테스트를 자동화하려고하는데 파이썬의 pymouse를 사용하여 에뮬레이트 된 클릭을 수행하고 있습니다. 내 데비안에서는 잘 작동하지만 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에 설치되어 있지 않은 것 같습니다. 어떻게 설치하나요?

업데이트 : 나는 페도라에서 비슷한 문제를 겪은 다른 사람 을 발견하고 사실이 문서화되었다는 사실을 문서화했습니다 /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 에서 마이그레이션되었습니다 .


Raspian을 사용하고 있으므로 이것을 Raspberry Pi Stack Exchange로 이동해야합니다.
SpecialBomb

데비안과 Raspbian 설치 사이에 다른 버전을 확인 했습니까? Xorg / pymouse / 의존성 중 하나가 실질적으로 다를 수 있습니다.
Matthias Urlichs

답변:


1

파이썬을 실행하고 실행하여 나머지 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 서버가 X 서버를 지원하지 않습니다. 이는 2012 년 7 월에 핵심 서버의 일부가 된 이후로 매우 드문 입니다. 또한 모듈로드 시도가 작동하지 않는 이유도 설명합니다. 약 4 년 전부터로드 할 모듈이 없었습니다.

python-xlibrecord2007 년에는 0.14 버전에서 자체 지원을 받았기 때문에 구식이 될 가능성이 훨씬 적습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.