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

在Windows 10的WSL Ubuntu环境中配置Cypress遇阻求助

解决WSL Ubuntu中Cypress无法启动的Display连接问题

我之前也碰到过一模一样的问题,折腾了好一阵子才搞定,给你分享几个亲测有效的排查和解决步骤:

第一步:检查XLaunch的关键配置

XLaunch默认的设置会阻止WSL连接,一定要确认这一点:

  • 打开XLaunch时,在Display settings页面,务必勾选Disable access control选项(默认是未勾选的,这是导致连接失败的常见原因)
  • 保持Display number为0(默认值即可),启动后任务栏会出现X形图标,说明Xserver服务正常运行

第二步:修正WSL中的DISPLAY环境变量

你当前的DISPLAY值是公网IP,这明显不对,需要改成Windows的内网IP:

  • 先在WSL终端执行echo $DISPLAY,查看当前值
  • 手动设置正确的变量:
    export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
    
    这个命令会自动获取WSL默认指向的Windows内网IP(也就是DNS服务器地址)
  • 为了避免每次重启终端都要重新设置,把这条命令添加到你的shell配置文件里:
    echo 'export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '\''{print $2}'\''):0.0' >> ~/.bashrc
    source ~/.bashrc
    

第三步:验证Xserver连接是否正常

先排除Xserver本身的问题,用一个简单的GUI工具测试:

  • 在WSL中安装X11测试工具:sudo apt install x11-apps
  • 执行xeyes,如果能弹出一个带眼睛的窗口,说明Xserver和WSL的连接是正常的,问题出在Cypress的配置或依赖上

第四步:补全Cypress的依赖并适配版本

针对你使用的Cypress 4.6.0版本,先确保安装了所有必需的系统依赖:

sudo apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb

如果还是无法启动,可以尝试用虚拟显示模式运行:

npx cypress run --headless

第五步:检查Windows防火墙设置

Windows防火墙可能会阻止WSL访问XLaunch的端口:

  • 可以临时关闭防火墙测试,如果能正常启动Cypress,就给vcxsrv.exe(XLaunch的程序文件)添加一条允许的入站规则:
    1. 打开Windows Defender防火墙 → 高级设置
    2. 新建入站规则,允许vcxsrv.exe通过所有网络类型

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 09:32:50