WSL2 Ubuntu中pyvirtualdisplay启动加载无响应问题求助
PyVirtualDisplay 在WSL中卡顿的问题及环境选择建议
不是必须转到Windows原生环境,但WSL需要额外配置才能让PyVirtualDisplay正常工作,你遇到的virtual_display.start()卡住,本质是WSL默认没有图形环境支撑,PyVirtualDisplay找不到可用的X显示服务。
WSL环境的修复步骤
- 先在Windows端安装X服务器(比如VcXsrv),启动时勾选「Disable access control」选项,避免权限问题。
- 打开WSL终端,设置DISPLAY环境变量:
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 - 安装PyVirtualDisplay的依赖组件:
sudo apt update && sudo apt install xvfb pip install pyvirtualdisplay - 测试代码(确保后端驱动如selenium已安装):
from pyvirtualdisplay import Display display = Display(visible=0, size=(800, 600)) display.start() # 插入你的业务代码,比如启动浏览器等操作 display.stop()
关于Windows原生环境的选择
如果不想折腾WSL的图形配置,直接在Windows原生Python环境运行确实更省心:
- 同样需要安装X服务器(比如VcXsrv),但配置步骤更简单,无需跨环境设置DISPLAY变量。
- 部分场景下可直接使用无头模式(比如Chrome的
--headless=new参数),甚至不需要PyVirtualDisplay就能完成无界面操作。
内容的提问来源于stack exchange,提问作者Dipak Gurung
相关产品推荐
相关产品推荐

