Wie aktiviere ich das Xorg-Aufnahmemodul auf Raspbian?

13

Ich versuche, einige Tests auf meinem RaspberryPi zu automatisieren und verwende Pythons Pymouse, um einige emulierte Klicks auszuführen. Auf meinem Debian funktioniert es einwandfrei, aber wenn es um Raspbian geht, schlägt die folgende Fehlermeldung beim Import von pymouse fehl:

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

Also habe ich nachgeforscht und festgestellt, dass mein Problem möglicherweise durch das fehlende Aufzeichnungsmodul in meiner x11-Installation verursacht wird. Ich habe bereits eine Standarddatei /etc/X11/xorg.conf erstellt und die folgenden Zeilen hinzugefügt:

Section "Module"
    Load "record"
EndSection

Nach einem Neustart konnte ich keinen Unterschied feststellen. Ich vermute, das Modul ist noch nicht in Raspbian installiert? Wie kann ich es installieren?

Update: Ich habe noch jemanden gefunden , der ein ähnliches Problem mit Fedora hatte und er hat die Tatsache dokumentiert, dass sein /usr/lib/xorg/modules/extensions/librecord.sofehlte. Dies scheint nicht mein Problem zu sein, da die Datei vorhanden ist. Ich habe auch versucht Xorg -configure, eine neue xorg.conf zu erstellen und danach meinen Pi neu gestartet. Immer noch kein Glück. :-(

Hier einige weitere Informationen, die hilfreich sein könnten:

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

Und:

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

Dieser Beitrag wurde von RaspberryPi.stackexchange.com migriert .

kumzugloom
quelle
Sie sollten dies wahrscheinlich in den Raspberry Pi Stack Exchange verschieben, da Sie Raspian verwenden.
SpecialBomb
Haben Sie nach unterschiedlichen Versionen zwischen Ihren Debian- und Raspbian-Installationen gesucht? Eine von Xorg / Pymouse / einer ihrer Abhängigkeiten könnte wesentlich anders sein.
Matthias Urlichs

Antworten:

1

Sie können dies ohne den Rest von Pymouse testen, indem Sie Python starten und ausführen

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

welches drucken sollte

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

Sieht so aus entspricht

$ xdpyinfo | grep -i record
    RECORD

(Das ist number of extensions:in der vollen Ausgabe unter.)

Wenn letzteres nicht angezeigt wird, wird es von Ihrem X-Server nicht unterstützt. Dies ist sehr ungewöhnlich, da es im Juli 2012 Teil des Core-Servers wurde. Dies erklärt auch, warum der Versuch, das Modul zu laden, nicht funktioniert. Es gibt seit ungefähr vier Jahren kein Modul mehr zum Laden.

python-xlibselbst wurde 2007 recordin Version 0.14 unterstützt, so dass es noch weniger wahrscheinlich ist, dass dies nicht mehr aktuell ist ...

eichin
quelle
0

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

Dies ist ein Makrorecorder. Es ist kompiliert, aber ich gehe davon aus, dass es funktioniert, wie es heißt. Ich habe es nicht getestet, aber es scheint viel einfacher zu sein, als mit einem Python-Programm herumzuhacken, bei dem man nicht herausfinden kann, wo es bricht.

hgg ohh
quelle