WSL2环境运行GLFW示例报DISPLAY环境变量缺失错误如何解决
修复WSL2运行GLFW时报
X11: The DISPLAY environment variable is missing的方案 - 第一步:确认WSL2 GUI支持配置
如果你使用的是Win10 21H2及以上版本,优先使用原生WSLg功能:- 以管理员身份打开Windows PowerShell,执行
wsl --update升级WSL到最新版本 - 执行
wsl --shutdown重启WSL实例,重新进入WSL后系统会自动配置GUI相关参数
如果你使用的是更早版本的Win10,需要手动安装第三方X服务器: - 安装VcXsrv,启动时勾选Disable access control选项,避免WSL的连接被拦截
- 允许VcXsrv通过Windows防火墙的公共、专用网络访问规则
- 以管理员身份打开Windows PowerShell,执行
- 第二步:配置DISPLAY环境变量
根据你使用的GUI方案选择对应配置:- WSLg方案:在你的shell配置文件(
~/.bashrc或~/.zshrc)末尾添加如下内容:
执行export DISPLAY=:0source ~/.bashrc(对应zsh则为source ~/.zshrc)让配置立即生效 - 第三方X服务器方案:在shell配置文件末尾添加如下内容,自动读取Windows主机IP配置DISPLAY:
同样执行source命令让配置生效export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
- WSLg方案:在你的shell配置文件(
- 第三步:安装缺失的依赖库
WSL默认可能缺少X11和OpenGL运行依赖,执行如下命令安装:
安装完成后执行sudo apt update && sudo apt install libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev mesa-utilsglxinfo | grep "direct rendering",如果输出direct rendering: Yes说明3D加速配置正常 - 第四步:测试运行
无需重新编译程序,直接执行./main即可正常弹出GLFW窗口。
内容的提问来源于stack exchange,提问作者spaL
相关产品推荐
相关产品推荐

