Como faço para ativar o módulo de registro do Xorg no Raspbian?

13

Estou tentando automatizar alguns testes no meu RaspberryPi e estou usando o pymouse do Python para executar alguns cliques emulados. No meu Debian funciona bem, mas quando se trata de Raspbian continua falhando com essa mensagem de erro ao tentar importar o 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

Então, fiz algumas pesquisas e descobri que meu problema poderia ser causado pelo módulo de registro ausente na instalação do x11. Eu já criei um /etc/X11/xorg.conf padrão e adicionei as seguintes linhas:

Section "Module"
    Load "record"
EndSection

Após o reinício, não encontrei nenhuma diferença. Eu acho que o módulo não está instalado até agora em Raspbian? Como posso instalá-lo?

Atualização: Eu encontrei outra pessoa , que encontrou um problema semelhante no fedora e ele documentou o fato de que seu /usr/lib/xorg/modules/extensions/librecord.so estava faltando. Este não parece ser o meu problema, pois o arquivo é existente. Eu também tentei usar o Xorg -configure para criar um novo xorg.conf e reiniciei o meu Pi depois. Ainda sem sorte. : - (

Aqui estão mais algumas informações que podem ser úteis:

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

E:

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 postagem foi migrada de RaspberryPi.stackexchange.com .

    
por kumzugloom 10.06.2015 / 18:26

2 respostas

1

Você pode testar isso sem o restante do pymouse ativando o python e executando

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

que deve ser impresso

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

Parece que isso corresponde a

$ xdpyinfo | grep -i record
    RECORD

(abaixo de number of extensions: na saída completa).

Se o último não aparecer, seu servidor X não o suporta, o que é muito incomum, já que se tornou parte do servidor núcleo em julho de 2012 - que também explica por que a tentativa de carregar o módulo não está funcionando; não há um módulo para carregar desde cerca de quatro anos atrás.

python-xlib ficou com record support na versão 0.14 em 2007, então é muito menos provável que ela esteja desatualizada ...

    
por 18.04.2016 / 03:04
0

link

Este é um gravador de macro. É compilado, mas suponho que funciona como diz. Eu não testei isso, mas parece muito mais fácil do que hackear com um programa python que você não consegue descobrir onde ele está quebrando.

    
por 21.01.2016 / 03:52

Tags