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

WSL2环境运行Cypress提示Unable to open X display错误求助

WSL2 Cypress 「Unable to open X display」报错排查与解决方案

该报错核心原因为WSL2到Windows宿主机的X11图形转发链路异常,可按以下步骤逐层排查解决:

  • 检查Windows侧X Server运行状态
    确认你安装的VcXsrv等X Server已正常启动,启动时必须勾选Disable access control选项;同时确认Windows防火墙已放行X Server的入站请求,首次启动弹出的防火墙提示需同时勾选专用、公用网络放行权限。可在Windows cmd中执行netstat -an | findstr ":6000",确认0.0.0.0:6000端口处于监听状态。
  • 检查WSL2侧DISPLAY环境变量配置
    执行echo $DISPLAY确认变量值正确,WSL2与Windows宿主机网段不同,不能写死为localhost:0,可先执行以下命令临时配置动态变量测试:
    export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
    
    配置完成后执行xhost +,如果输出access control disabled, clients can connect from any host说明基础转发链路正常,否则回到上一步检查X Server和防火墙配置。
  • 验证基础图形转发功能
    安装x11测试工具验证转发是否正常:
    sudo apt update && sudo apt install x11-apps -y && xcalc
    
    若能正常弹出计算器窗口,说明X11转发无问题,问题出在Cypress本身配置;若无法弹出,优先解决转发链路问题。
  • Cypress运行参数调整
    转发正常的前提下仍报错,可添加禁用沙箱、禁用GPU参数启动:
    cypress open --no-sandbox --disable-gpu
    

常见遗漏场景说明:
重启WSL或电脑后出现该报错,绝大多数是两个原因导致:一是X Server未随系统启动,二是WSL2网段变更导致之前写死的DISPLAY变量失效,可将动态变量配置写入终端配置文件避免重启失效:

echo "export DISPLAY=\$(cat /etc/resolv.conf | grep nameserver | awk '{print \$2}'):0" >> ~/.bashrc
source ~/.bashrc

若你使用的是自带WSLg的Windows预览版/正式版系统,无需额外安装X Server,直接卸载VcXsrv等第三方X Server,重启WSL即可,第三方X Server会与WSLg自带的图形转发能力冲突。

内容的提问来源于stack exchange,提问作者james

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 09:42:00