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

Ubuntu无法使用X服务器及VcXsrv连接报错“Can't open display: localhost:0”的解决求助

Ubuntu无法使用X服务器及VcXsrv连接报错“Can't open display: localhost:0”的解决求助

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

  • 检查VcXsrv的启动配置
    启动VcXsrv的时候,一定要勾选「Disable access control」选项!这是最容易忽略的点,Windows默认会限制外部(这里指WSL的Ubuntu)的连接请求,不勾这个的话根本连不上。如果已经启动了VcXsrv,先关掉重新启动,确保这个选项被选中。

  • 确认Ubuntu的DISPLAY环境变量设置
    打开Ubuntu终端,先输入echo $DISPLAY查看当前的DISPLAY值:

    • 如果输出不是localhost:0.0或者:0.0,先临时设置试试:export DISPLAY=localhost:0.0,然后再尝试启动GUI程序。
    • 想要永久生效的话,编辑你的shell配置文件(比如~/.bashrc或者~/.zshrc,取决于你用的是bash还是zsh),在文件末尾加上一行export DISPLAY=localhost:0.0,保存后执行source ~/.bashrc(对应你的配置文件)让设置立刻生效。
  • 检查Windows防火墙权限
    确保VcXsrv被允许通过Windows防火墙:打开Windows Defender防火墙的「允许应用通过防火墙」设置,找到VcXsrv,确认它对应的私有网络(本地使用的话私有网络足够)选项被勾选。如果找不到,点击「更改设置」→「允许其他应用」,手动添加VcXsrv的程序路径(一般在C:\Program Files\VcXsrv\vcxsrv.exe)。

  • 尝试用Windows本地IP代替localhost
    有时候localhost的解析会出问题,你可以换成Windows的本地IPv4地址试试:

    1. 在Windows的命令提示符(cmd)里输入ipconfig,找到你的以太网或WLAN的IPv4地址(比如192.168.3.10)。
    2. 在Ubuntu终端里设置export DISPLAY=你的WindowsIPv4地址:0.0(比如export DISPLAY=192.168.3.10:0.0),再尝试启动GUI程序。
  • 查看VcXsrv的日志信息
    启动VcXsrv时会弹出一个日志窗口,里面会记录连接请求和错误信息。如果有连接被拒绝的日志,那基本就是权限或者防火墙的问题,可以根据日志提示针对性调整配置。

  • 重启相关服务
    有时候单纯的重启就能解决问题:先关掉VcXsrv,然后在Windows的cmd里执行wsl --shutdown关闭WSL实例,等几秒后重新打开Ubuntu终端,再启动VcXsrv试试。

我当时就是因为没勾选「Disable access control」加上防火墙没放行VcXsrv,按上面的步骤调整后就顺利解决了,你可以一个个试过来,应该能搞定这个报错!

备注:内容来源于stack exchange,提问作者Kaustubh Maladkar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 09:39:35