I'm encountering an error when using mss, on Ubuntu 18.10 (if that matters). Here's my code (Taken from their examples in the documentation, plus some extra error output):
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)
Here's the output I see when I run the code using 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)}
If it helps, here is the output if I don't catch the exception (stacktrace)
Traceback (most recent call last):
File "process.py", line 3, in <module>
filename = sct.shot(mon=-1, output='fullscreen.png')
File "/home/user/.local/share/virtualenvs/poker-TAtsjijf/lib/python3.7/site-packages/mss/base.py", line 140, in shot
return next(self.save(**kwargs))
File "/home/user/.local/share/virtualenvs/poker-TAtsjijf/lib/python3.7/site-packages/mss/base.py", line 129, in save
sct = self.grab(monitor)
File "/home/user/.local/share/virtualenvs/poker-TAtsjijf/lib/python3.7/site-packages/mss/linux.py", line 430, in grab
ZPIXMAP,
File "/home/user/.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
I am running it in a virtual environment, in which my Pipfile.lock reports mss version 4.0.2
.
I have tried running it as root, but that gave the same output. I was unable to find a similar issue in Google. I also tried running it outside of tmux, which also had no result.