你们有人尝试过在wsl上编译和执行SFML c++项目输出吗?
Failed to open X11 display; make sure the DISPLAY environment variable is set correctly
Aborted
有可能通过wsdl执行GUI应用程序吗?
(我已经安装了ubuntu的wsl)
为WSL 1设置的Linux发行版将不能与Linux GUI应用程序一起工作,这些应用程序只支持WSL 2。
由于Microsoft关于WSL的官方文档,您可能需要检查以下步骤:
选择开始,输入PowerShell,右键单击Windows PowerShell,然后选择以管理员身份运行。然后输入以下命令,然后按enter键:
wsl --update
您需要重新启动WSL以使更新生效。您可以通过在PowerShell中运行shutdown命令重新启动WSL。
wsl --shutdown
现在,再次打开powershell并输入以下命令:
wsl --list --verbose
您应该在响应的标题VERSION
下看到您安装的发行版的编号2
。
如果到目前为止一切都按计划进行,看看你的发行版是否可以通过安装像gedit这样的GUI应用程序来打开任何窗口,并尝试打开它:
sudo apt update
install gedit:
sudo apt install gedit -y
安装完成后,在您的wsl终端中输入gedit
来启动gedit。从Windows内部的wsl窗口现在应该打开,问题现在应该解决了。
在这里找到更多信息:https://learn.microsoft.com/en-us/windows/wsl/tutorials/gui-apps
如果你有同样的问题
首先,您需要安装VcXsrv和X11,以便通过wsl 执行GUI应用程序。那么你必须将这两个添加到你的环境变量中:
export DISPLAY=:0
export LIBGL_ALWAYS_INDIRECT=0