Как активировать модуль записи Xorg на Raspbian?

Я пытаюсь автоматизировать некоторые тесты на моем RaspberryPi, и я использую pymouse python для выполнения некоторых эмулируемых кликов. На моем Debian он работает отлично, но когда дело доходит до Raspbian, он продолжает терпеть неудачу с этим сообщением об ошибке при попытке импортировать pymouse:

[email protected] ~/ $ 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

Итак, я сделал некоторые исследования и обнаружил, что моя проблема может быть вызвана отсутствующим модулем записи в моей установке x11. Я уже создал по умолчанию /etc/X11/xorg.conf и добавил следующие строки:

Section "Module"
    Load "record"
EndSection

После перезагрузки я не мог найти разницы. Думаю, модуль пока не установлен в Raspbian? Как его установить?

Update: Я нашел кого-то еще , столкнувшегося с аналогичной проблемой в Fedora, и он задокументировал факт, что его /usr/lib/xorg/modules/extensions/librecord.so. Это не похоже на мою проблему, поскольку файл существует. Я также попытался использовать Xorg -configure, чтобы создать новый xorg.conf и перезапустить мой Pi. Еще не повезло. : - (

Вот еще информация, которая может быть полезна:

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

и

[email protected] ~/ $ 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 [...]

Это сообщение было перенесено из RaspberryPi.stackexchange.com .

13 голосов | спросил kumzugloom 10 J0000006Europe/Moscow 2015, 19:26:27

2 ответа


1

Вы можете протестировать это без остальной части pymouse, активировав python и запустив

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

, который должен печатать

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

Похоже, что это соответствует

$ xdpyinfo | grep -i record
    RECORD

(это находится в number of extensions: в полном выходе.)

Если последний не отображается, ваш X-сервер его не поддерживает, что очень необычно, так как он стал частью основного сервера в июле 2012 года - что также объясняет, почему попытка загрузить модуль не работает; не было модуля для загрузки, так как около четырех лет назад.

python-xlib сам получил record поддержка в версии 0.14 в 2007 году, что еще менее вероятно, будет устаревшим ...

ответил eichin 18 AMpMon, 18 Apr 2016 04:04:36 +030004Monday 2016, 04:04:36
0

http://mirrordirector-mb.raspbian.org/raspbian /бассейн /основной /х /xmacro /

Это макрорекордер. Он скомпилирован, но я предполагаю, что он работает, как он говорит. Я не тестировал его, но это намного проще, чем взломать программу python, и вы не можете понять, где она ломается.

ответил hgg ohh 21 Jam1000000amThu, 21 Jan 2016 05:52:12 +030016 2016, 05:52:12

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132