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

在WSL中运行Bevy Breakout示例遇显示错误,如何配置?

我在装有Ubuntu 22.04(WSL2)的Windows电脑上,尝试在WSL shell中运行Bevy的Breakout示例,已遵循Bevy快速入门指南,但执行命令cargo run --example breakout时出现错误。错误信息显示线程main在bevy_winit/src/lib.rs:136:14处panic,提示“Failed to build event loop: Os(OsError { line: 786, file: "/home/JohnDoe/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.14/src/platform_impl/linux/mod.rs", error: Misc("neither WAYLAND_DISPLAY nor WAYLAND_SOCKET nor DISPLAY is set.") })。执行wsl -l -v`的输出显示Ubuntu-22.04处于Stopped状态,版本为2。请问该如何正确配置显示?

解决方案

1. 启动WSL2实例

当前Ubuntu-22.04处于停止状态,先通过命令启动:

wsl -d Ubuntu-22.04

2. 配置图形显示转发

WSL2本身无原生图形环境,需借助Windows端的显示服务器实现界面渲染,以下两种方案任选其一:

方案一:使用WSLg(Windows 11自带,推荐)

WSLg是微软官方提供的图形支持组件,默认随WSL2安装(未安装的话先执行wsl --update更新WSL):

  • 启动WSL终端后,检查环境变量是否自动配置:
    echo $DISPLAY
    echo $WAYLAND_DISPLAY
    
  • 若输出为空,将以下内容添加到~/.bashrc或~/.zshrc(根据你使用的Shell):
    export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
    export WAYLAND_DISPLAY=wayland-0
    
  • 执行命令使配置立即生效:
    source ~/.bashrc
    

方案二:使用VcXsrv(适用于Windows 10或非WSLg场景)

  1. 在Windows端下载安装VcXsrv,启动时选择Multiple windows,设置Display number为0,取消勾选Native opengl,勾选Disable access control后完成启动。
  2. 在WSL终端中临时设置DISPLAY变量:
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0

如需永久生效,将上述命令添加到~/.bashrc或~/.zshrc即可。

3. 运行验证

配置完成后,重新执行cargo run --example breakout即可启动示例程序。若仍报错,确保Windows端的显示服务器(VcXsrv或WSLg)处于运行状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 00:10:25