Ошибка XGetImage при использовании библиотеки Python MSS в Ubuntu - PullRequest
0 голосов
/ 10 марта 2019

Я сталкиваюсь с ошибкой при использовании mss в Ubuntu 18.10 (если это имеет значение).Вот мой код (взятый из их примеров в документации, плюс дополнительный вывод ошибок):

import mss
with mss.mss() as sct:
    try:
        filename = sct.shot(mon=-1, output='fullscreen.png')
        print(filename)
    except Exception as e:
        print(e, "\n", e.details)

Вот вывод, который я вижу, когда запускаю код с использованием Python 3.7.

XGetImage() failed
 {'retval': <mss.linux.LP_XImage object at 0x7fc72d567bf8>, 'args': (<mss.linux.LP_Display object at 0x7fc72db7d1e0>, <mss.linux.LP_Display object at 0x7fc72d567950>, 0, 0, 1920, 1080, 16777215, 2)}

Если это поможет, вот вывод, если я не поймаю исключение (stacktrace)

Traceback (most recent call last):
  File "process.py", line 3, in <module>
    filename = sct.shot(mon=-1, output='fullscreen.png')
  File "/home/f41lurizer/.local/share/virtualenvs/poker-TAtsjijf/lib/python3.7/site-packages/mss/base.py", line 140, in shot
    return next(self.save(**kwargs))
  File "/home/f41lurizer/.local/share/virtualenvs/poker-TAtsjijf/lib/python3.7/site-packages/mss/base.py", line 129, in save
    sct = self.grab(monitor)
  File "/home/f41lurizer/.local/share/virtualenvs/poker-TAtsjijf/lib/python3.7/site-packages/mss/linux.py", line 430, in grab
    ZPIXMAP,
  File "/home/f41lurizer/.local/share/virtualenvs/poker-TAtsjijf/lib/python3.7/site-packages/mss/linux.py", line 171, in validate
    raise ScreenShotError(err, details=details)
mss.exception.ScreenShotError: XGetImage() failed

Я запускаю его в виртуальной среде, в которой мой Pipfile.lock сообщает о версии mss 4.0.2.

Я попытался запустить его как root, но это дало тот же результат.Мне не удалось найти похожую проблему в Google.Я также попытался запустить его вне tmux, что также не дало результата.

...