首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Ubuntu上使用python MSS库时出现XGetImage失败错误

在Ubuntu上使用python MSS库时出现XGetImage失败错误
EN

Stack Overflow用户
提问于 2019-03-10 14:26:40
回答 2查看 1.3K关注 0票数 1

我在Ubuntu 18.10上使用mss时遇到一个错误(如果这很重要的话)。下面是我的代码(取自文档中的示例,外加一些额外的错误输出):

代码语言:javascript
运行
复制
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)

下面是我使用python3.7运行代码时看到的输出。

代码语言:javascript
运行
复制
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),下面是输出

代码语言:javascript
运行
复制
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用户身份运行它,但得到了相同的输出。我在谷歌上找不到类似的问题。我也尝试在tmux之外运行它,也没有结果。

EN

Stack Overflow用户

发布于 2019-11-19 22:44:37

请在700-400范围内降低屏幕分辨率,然后重试。您可能需要尝试该范围内的不同值以使其精确。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55085064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档