Come posso attivare il modulo record Xorg su Raspbian?


13

Sto cercando di automatizzare alcuni test sul mio RaspberryPi e sto usando il pymouse di Python per eseguire alcuni clic emulati. Sul mio Debian funziona benissimo, ma quando si tratta di Raspbian continua a fallire con questo messaggio di errore quando si tenta di importare 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

Quindi ho fatto alcune ricerche e ho scoperto che il mio problema potrebbe essere causato dal modulo record mancante nella mia installazione x11. Ho già creato un predefinito /etc/X11/xorg.conf e aggiunto le seguenti righe:

Section "Module"
    Load "record"
EndSection

Dopo un riavvio non sono riuscito a trovare alcuna differenza. Immagino, il modulo non è stato installato finora in Raspbian? Come posso installarlo?

Aggiornamento: ho trovato qualcun altro , che ha riscontrato un problema simile su fedora e ha documentato il fatto che /usr/lib/xorg/modules/extensions/librecord.somancava. Questo non sembra essere il mio problema, poiché il file è esistente. Ho anche provato a utilizzare Xorg -configureper creare un nuovo xorg.conf e successivamente ho riavviato il mio Pi. Ancora niente fortuna. :-(

Ecco alcune ulteriori informazioni che potrebbero essere utili:

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

Questo post è stato migrato da RaspberryPi.stackexchange.com .


Probabilmente dovresti spostarlo nello Scambio stack di Raspberry Pi, poiché stai usando Raspian.
SpecialBomb

Hai verificato la presenza di versioni diverse tra le tue installazioni Debian e Raspbian? Uno di Xorg / pymouse / una qualsiasi delle loro dipendenze potrebbe essere materialmente diverso.
Matthias Urlichs,

Risposte:


1

Puoi testarlo senza il resto di pymouse accendendo Python ed eseguendolo

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

che dovrebbe stampare

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

Sembra che corrisponda a

$ xdpyinfo | grep -i record
    RECORD

(che è sotto number of extensions:nel pieno output.)

Se quest'ultimo non viene visualizzato, il tuo server X non lo supporta, il che è molto insolito da quando è diventato parte del server principale nel luglio 2012 - il che spiega anche perché il tentativo di caricare il modulo non funziona; non c'è stato un modulo da caricare da circa quattro anni fa.

python-xlibstesso ha ottenuto il recordsupporto nella versione 0.14 nel 2007, quindi è ancora meno probabile che non sia aggiornato ...


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.