You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu22.04+Python3.10环境下pyautogui.position()坐标异常求解

Ubuntu22.04下pyautogui.position()坐标异常的解决建议
  • 检查并更新依赖库
    Ubuntu22.04的系统库版本和20.04有差异,pyautogui依赖的xlib组件可能适配不良,执行以下命令重装依赖:

    pip uninstall pyautogui python3-xlib -y
    sudo apt install python3-xlib -y
    pip install pyautogui --upgrade
    

    也可以直接安装pyautogui的预发布版本,大概率修复了适配问题:

    pip install pyautogui --pre
    
  • 切换回Xorg显示服务器
    Ubuntu22.04默认用Wayland,而pyautogui对Wayland的支持不完善。登录界面点击用户名旁的齿轮图标,选择「Ubuntu on Xorg」登录即可,远程桌面连接时也要确保用Xorg协议。

  • 手动指定显示设备
    多屏幕或特殊显示配置下,强制pyautogui使用正确的显示输出,在代码开头添加:

    import os
    os.environ['DISPLAY'] = ':0'  # 通常是:0,根据实际显示编号调整
    import pyautogui
    
  • 用xdotool替代验证/获取坐标
    如果以上方法都无效,先通过系统工具验证坐标是否正常:

    sudo apt install xdotool -y
    xdotool getmouselocation
    

    要是xdotool返回正确坐标,可以用Python调用它替代pyautogui的位置获取功能:

    import subprocess
    def get_mouse_pos():
        output = subprocess.check_output(['xdotool', 'getmouselocation']).decode().strip()
        x = int(output.split('x=')[1].split(' ')[0])
        y = int(output.split('y=')[1].split(' ')[0])
        return (x, y)
    

内容的提问来源于stack exchange,提问作者W. Wang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 14:48:16