¿Cómo activo el módulo de grabación Xorg en Raspbian?

13

Estoy tratando de automatizar algunas pruebas en mi RaspberryPi y estoy usando pymouse de python para realizar algunos clics emulados. En mi Debian funciona bien, pero cuando se trata de Raspbian sigue fallando con este mensaje de error al intentar importar 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

Así que investigué un poco y descubrí que mi problema podría deberse al módulo de registro que faltaba en mi instalación de x11. Ya creé un /etc/X11/xorg.conf predeterminado y agregué las siguientes líneas:

Section "Module"
    Load "record"
EndSection

Después de un reinicio no pude encontrar ninguna diferencia. ¿Supongo que el módulo no está instalado hasta ahora en Raspbian? ¿Cómo puedo instalarlo?

Actualización: encontré a alguien más , que encontró un problema similar en fedora y él documentó el hecho de que /usr/lib/xorg/modules/extensions/librecord.sofaltaba el suyo . Este no parece ser mi problema, ya que el archivo es existente. También intenté usar Xorg -configurepara crear un nuevo xorg.conf y luego reinicié mi Pi. Aún no hay suerte. :-(

Aquí hay más información que puede ser útil:

pi@pi ~/ $ grep LoadModule /var/log/Xorg.0.log
[169058.900] (II) LoadModule: "fbturbo"
[169058.912] (II) LoadModule: "fbdev"

Y:

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 [...]

Esta publicación fue migrada de RaspberryPi.stackexchange.com .

kumzugloom
fuente
Probablemente deberías mover esto al Raspberry Pi Stack Exchange, ya que estás usando Raspian.
SpecialBomb
¿Revisó las diferentes versiones entre sus instalaciones de Debian y Raspbian? Uno de Xorg / pymouse / cualquiera de sus dependencias puede ser materialmente diferente.
Matthias Urlichs

Respuestas:

1

Puede probar esto sin el resto de pymouse activando python y ejecutando

from Xlib.display import Display
display = Display()
display.record_create_context

que debería imprimir

<bound method Display.create_context of <Xlib.display.Display instance at ...>>

Parece que corresponde a

$ xdpyinfo | grep -i record
    RECORD

(Eso está debajo number of extensions:de la salida completa).

Si este último no aparece, su servidor X no lo admite, lo cual es muy inusual ya que se convirtió en parte del servidor central en julio de 2012 , lo que también explica por qué no está funcionando intentar cargar el módulo; no ha habido un módulo para cargar desde hace aproximadamente cuatro años.

python-xliben sí recibió recordsoporte en la versión 0.14 en 2007, por lo que es menos probable que esté desactualizado ...

Eichin
fuente