ฉันจะเปิดใช้งานโมดูลบันทึก Xorg บน Raspbian ได้อย่างไร


13

ฉันกำลังพยายามทำการทดสอบบางอย่างกับ RaspberryPi ของฉันโดยอัตโนมัติและฉันใช้ pymouse ของ python เพื่อทำการคลิกเลียนแบบ ใน 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


คุณควรย้ายสิ่งนี้ไปที่ Raspberry Pi Stack Exchange เนื่องจากคุณใช้ Raspian
SpecialBomb

คุณตรวจสอบเวอร์ชั่นที่แตกต่างระหว่างการติดตั้ง Debian และ Raspbian ของคุณหรือไม่? หนึ่งใน Xorg / pymouse / การอ้างอิงใด ๆ ของพวกเขาอาจแตกต่างไปอย่างมาก
Matthias Urlichs

คำตอบ:


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 ดังนั้นจึงมีโอกาสน้อยที่จะล้าสมัย ...


0

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

นี่คือตัวบันทึกแมโคร มันถูกคอมไพล์ แต่ฉันคิดว่ามันใช้งานได้ตามที่บอกไว้ ฉันไม่ได้ทำการทดสอบ แต่ดูเหมือนจะง่ายกว่าการแฮ็กรอบด้วยโปรแกรมไพ ธ อนที่คุณไม่สามารถทราบได้ว่ามันอยู่ที่ไหน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.