RaspbianでXorgレコードモジュールを有効にするにはどうすればよいですか?


13

RaspberryPiでいくつかのテストを自動化しようとしています。エミュレートされたクリックを実行するためにPythonのpymouseを使用しています。私のDebianでは正常に動作しますが、Raspbianの場合、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

そのため、x11のインストールでレコードモジュールが見つからないことが原因である可能性があることを調査しました。すでにデフォルトの/etc/X11/xorg.confを作成し、次の行を追加しました。

Section "Module"
    Load "record"
EndSection

再起動後、違いを見つけることができませんでした。モジュールはこれまでのところRaspbianにインストールされていないのでしょうか?どうすればインストールできますか?

更新: fedoraで同様の問題に遭遇した他の誰か を見つけ、彼/usr/lib/xorg/modules/extensions/librecord.soが行方不明であるという事実を記録しました。ファイルが存在するため、これは私の問題ではないようです。またXorg -configure、新しいxorg.confの作成に使用してみて、その後Piを再起動しました。まだ運がありません。:-(

役に立つかもしれないいくつかの情報を次に示します。

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

そして:

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

この投稿はRaspberryPi.stackexchange.comから移行されました。


Raspianを使用しているため、これをRaspberry Pi Stack Exchangeに移動する必要があります。
SpecialBomb

DebianとRaspbianのインストールの異なるバージョンを確認しましたか?Xorg / pymouse /依存関係のいずれかが実質的に異なる場合があります。
マティアスユリクス16

回答:


1

pythonを起動して実行することで、残りのpymouseなしでこれをテストできます

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年7月にコアサーバーの一部になったため、非常に珍しいことです。約4年前からロードするモジュールはありません。

python-xlibそれ自体はrecord2007年にバージョン0.14でサポートされたため、古くなっている可能性はさらに低くなります...


0

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

これはマクロレコーダです。コンパイルされていますが、私はそれが言うように動作すると仮定します。私はそれをテストしていませんが、どこで壊れているのかわからないので、Pythonプログラムでハックするよりもずっと簡単に思えます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.