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

WSL 2环境运行JavaFX项目报错Unable to open DISPLAY 求解决方案

问题原因

报错Unable to open DISPLAY和JavaFX本身无关,是WSL2环境默认没有配置GUI显示转发导致的:Linux下的GUI程序(包括JavaFX)需要将画面输出到X显示服务器,切换到WSL2后没有配置对应X服务的地址,所以程序启动时找不到显示设备抛出异常。

解决方案

  • 第一步:Windows端安装VcXsrv X服务器,启动时勾选Disable access control选项,同时在Windows防火墙设置中允许VcXsrv通过专用、公用网络访问。
  • 第二步:在WSL2的Ubuntu终端中执行以下命令配置DISPLAY环境变量,自动获取Windows主机的IP作为显示输出地址:
    打开~/.bashrc文件,在末尾添加一行:
    export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
    
    保存后执行source ~/.bashrc使配置生效。
  • 第三步:验证显示转发是否正常,执行以下命令安装测试工具并运行:
    sudo apt update && sudo apt install -y x11-apps
    xeyes
    
    如果弹出显示眼睛的窗口,说明显示转发配置正常,此时再启动JavaFX项目即可正常运行。
  • 可选优化:如果你使用的是Windows 11且开启了WSLg(WSL默认GUI支持),无需安装VcXsrv,只需要将DISPLAY变量设置为:0即可,即添加export DISPLAY=:0到~/.bashrc。

额外排查点

如果配置完仍无法启动,检查VS Code WSL终端的环境变量是否生效:重启VS Code终端后执行echo $DISPLAY,确认输出的IP地址正确,再启动项目即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:48:03