Jak aktywować moduł rekordów Xorg na Raspbian?

13

Próbuję zautomatyzować niektóre testy na moim RaspberryPi i używam myszy Python do wykonania kilku emulacji kliknięć. Na moim Debianie działa dobrze, ale jeśli chodzi o Raspbian, ten komunikat o błędzie nadal nie działa przy próbie zaimportowania 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

Zrobiłem więc trochę badań i odkryłem, że mój problem może być spowodowany brakującym modułem zapisu w mojej instalacji x11. Utworzyłem już domyślny plik /etc/X11/xorg.conf i dodałem następujące linie:

Section "Module"
    Load "record"
EndSection

Po ponownym uruchomieniu nie mogłem znaleźć żadnej różnicy. Chyba moduł nie jest do tej pory zainstalowany w Raspbian? Jak mogę to zainstalować?

Aktualizacja: Znalazłem kogoś innego , kto napotkał podobny problem na fedorze i udokumentował fakt jego /usr/lib/xorg/modules/extensions/librecord.sozaginięcia. To nie wydaje się być moim problemem, ponieważ plik istnieje. Próbowałem także użyć Xorg -configuredo utworzenia nowego xorg.conf i potem zrestartowałem moje Pi. Wciąż nie ma szczęścia. :-(

Oto kilka informacji, które mogą być pomocne:

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

I:

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

Ten post został migrowany z RaspberryPi.stackexchange.com .

kumzugloom
źródło
Prawdopodobnie powinieneś przenieść to na Raspberry Pi Stack Exchange, ponieważ używasz Raspian.
SpecialBomb
Czy sprawdziłeś różne wersje między instalacjami Debian i Raspbian? Jedna z Xorg / pymouse / dowolna z ich zależności może być istotnie inna.
Matthias Urlichs,

Odpowiedzi:

1

Możesz to przetestować bez reszty pymouse, uruchamiając Python i uruchamiając

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

który powinien wydrukować

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

Wygląda na to, że to odpowiada

$ xdpyinfo | grep -i record
    RECORD

(to jest poniżej number of extensions:pełnej mocy wyjściowej).

Jeśli ten ostatni się nie pojawi, twój serwer X go nie obsługuje, co jest bardzo niezwykłe, ponieważ stał się częścią serwera głównego w lipcu 2012 r. - co również wyjaśnia, dlaczego próba załadowania modułu nie działa; nie było modułu do załadowania od około czterech lat temu.

python-xlibsam otrzymał recordwsparcie w wersji 0.14 w 2007 roku, więc jeszcze mniej prawdopodobne jest, że będzie nieaktualny ...

eichin
źródło
0

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

To jest rejestrator makr. Jest skompilowany, ale zakładam, że działa tak, jak mówi. Nie testowałem tego, ale wydaje się to o wiele łatwiejsze niż hakowanie za pomocą programu w języku Python, którego nie można ustalić, gdzie się psuje.

hgg ohh
źródło