Comment activer le module d'enregistrement Xorg sur Raspbian?

13

J'essaie d'automatiser certains tests sur mon RaspberryPi et j'utilise le pymouse de python pour effectuer des clics émulés. Sur mon Debian, cela fonctionne bien, mais quand il s'agit de Raspbian, il échoue toujours avec ce message d'erreur lors de l'importation de 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

J'ai donc fait des recherches et découvert que mon problème pouvait être causé par le module d'enregistrement manquant dans mon installation x11. J'ai déjà créé un fichier /etc/X11/xorg.conf par défaut et ajouté les lignes suivantes:

Section "Module"
    Load "record"
EndSection

Après un redémarrage, je n'ai trouvé aucune différence. Je suppose que le module n'est pas installé jusqu'à présent dans Raspbian? Comment l'installer?

Mise à jour: J'ai trouvé quelqu'un d'autre , qui a rencontré un problème similaire sur Fedora et il a documenté le fait que le sien /usr/lib/xorg/modules/extensions/librecord.soétait manquant. Cela ne semble pas être mon problème, car le fichier existe. J'ai également essayé d'utiliser Xorg -configurepour créer un nouveau xorg.conf et redémarré mon Pi par la suite. Toujours pas de chance. :-(

Voici quelques informations supplémentaires qui pourraient être utiles:

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

Et:

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

Ce message a été migré depuis RaspberryPi.stackexchange.com .

kumzugloom
la source
Vous devriez probablement déplacer cela vers le Raspberry Pi Stack Exchange, car vous utilisez Raspian.
SpecialBomb
Avez-vous vérifié les différentes versions entre vos installations Debian et Raspbian? L'une de Xorg / pymouse / l'une de leurs dépendances peut être sensiblement différente.
Matthias Urlichs

Réponses:

1

Vous pouvez tester cela sans le reste de pymouse en lançant python et en exécutant

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

qui devrait imprimer

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

On dirait que cela correspond à

$ xdpyinfo | grep -i record
    RECORD

(c'est sous number of extensions:dans la sortie complète.)

Si ce dernier n'apparaît pas, votre serveur X ne le prend pas en charge, ce qui est très inhabituel depuis qu'il est devenu une partie du serveur principal en juillet 2012 - ce qui explique également pourquoi essayer de charger le module ne fonctionne pas; il n'y a pas eu de module à charger depuis environ quatre ans.

python-xliblui-même a été pris en recordcharge dans la version 0.14 en 2007, ce qui est encore moins susceptible d'être obsolète ...

eichin
la source
0

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

Il s'agit d'un macro enregistreur. Il est compilé mais je suppose que cela fonctionne comme il est dit. Je ne l'ai pas testé, mais cela semble beaucoup plus facile que de pirater avec un programme python que vous ne pouvez pas comprendre où il se casse.

hgg ohh
la source