Como ativo 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, ele funciona bem, mas quando se trata do Raspbian, ele continua falhando com esta 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, pesquisei e descobri que meu problema pode ser causado pelo módulo de registro ausente na minha instalação do x11. Eu já criei um /etc/X11/xorg.conf padrão e adicionei as seguintes linhas:

Section "Module"
    Load "record"
EndSection

Depois de reiniciar, não encontrei nenhuma diferença. Eu acho que o módulo não está instalado até agora no Raspbian? Como posso instalá-lo?

Atualização: Encontrei alguém que encontrou um problema semelhante no fedora e ele documentou o fato de que ele /usr/lib/xorg/modules/extensions/librecord.soestava faltando. Este não parece ser o meu problema, pois o arquivo existe. Eu também tentei usar Xorg -configurepara criar um novo xorg.conf e reiniciei o meu Pi posteriormente. 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 do RaspberryPi.stackexchange.com .

kumzugloom
fonte
Você provavelmente deve mover isso para o Raspberry Pi Stack Exchange, pois está usando o Raspian.
SpecialBomb 31/12/15
Você verificou versões diferentes entre suas instalações Debian e Raspbian? Um dos Xorg / pymouse / qualquer uma de suas dependências pode ser materialmente diferente.
Matthias Urlichs 03/02

Respostas:

1

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

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

que deve imprimir

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

Parece que corresponde a

$ xdpyinfo | grep -i record
    RECORD

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

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

python-xlibem si obteve recordsuporte na versão 0.14 em 2007, então é menos provável que esteja desatualizado ...

eichin
fonte
0

http://mirrordirector-mb.raspbian.org/raspbian/pool/main/x/xmacro/

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

hgg ohh
fonte