别着急,坐和放宽
最近需要在 WSL 上运行一些图形化界面,虽然目前 Windows 11 已经原生支持了 WSLg,但是 Windows 11 自身的诸多 Bug 属实让我不想升级上去,已经升了两次退回两次了。
主要问题就在于 WSL2 使用了虚拟网卡,以下的 IP 获取方式可能只能拿到 WSL 的 IP,但是会出现一些问题,比如通信超时【什么错误都没有,但是 Xlaunch 就是没有窗口会弹出来】。具体的问题解决可以看这篇 Stackoverflow
解决方法就是改成这句:
export DISPLAY=$(route.exe print | grep 0.0.0.0 | head -1 | awk '{print $4}'):0.0
.bashrc 最后一行加入以下命令export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
apt install x11-apps -y && xeyes 进行测试,如果弹出窗口则成功~/Pangolin/src/display/device/display_x11.cpp
b. 找到大概 110 行处,将GLXFBConfig* fbc = glXChooseFBConfig(display, DefaultScreen(display), visual_attribs, &fbcount);改为GLXFBConfig* fbc = glXGetFBConfigs(display, DefaultScreen(display), &fbcount);
c. 重新编译并安装