无法打开X11显示:如何在WSL中运行SFML程序及加载GUI应用
在WSL Ubuntu上运行SFML C++ GUI项目的解决方案
WSL Ubuntu完全支持运行GUI应用,你遇到的错误是因为缺少X11显示配置,按以下步骤解决:
- 先在Windows系统安装一款X服务器软件,比如VcXsrv或X410
- 启动X服务器时,务必勾选Disable access control选项,避免权限拦截
- 在WSL终端配置DISPLAY环境变量:
- WSL 1版本直接执行:
export DISPLAY=:0 - WSL 2版本先通过
cat /etc/resolv.conf | grep nameserver获取Windows主机IP,再执行:export DISPLAY=<获取到的IP>:0
想要永久生效,把对应命令添加到~/.bashrc或~/.zshrc文件末尾,下次启动终端自动加载
- WSL 1版本直接执行:
- 确保WSL内已安装SFML依赖库:
sudo apt install libsfml-dev - 编译项目时正确链接SFML库,示例编译命令:
g++ your_source.cpp -o your_app -lsfml-graphics -lsfml-window -lsfml-system
内容的提问来源于stack exchange,提问作者Saleh Soleymani
相关产品推荐
相关产品推荐

