windows linux 子系统 开启显示 GUI输出转发 GUI 转发 wails程序
背景
不知道为什么在windows系统上运行golang程序,lsp语法解析器特别的卡慢,但是放到linux子系统上面,觉得还好,
于是就在linux子系统上面运行golang程序,但是我的这个程序是个桌面端程序,基于wails的桌面端程序,要显示界面,
然后直接在linxu子系统上面是不可以的,程序报错,各种方法是都试了一遍,后来看到这个GUI转发,试了一下,可行.
输出的桌面端GUI会转发到windows电脑上显示.
下面的是windows11的开启方法,win10好像需要另外的方法.
使用WSLg(推荐,Windows 11原生支持,Windows 10可手动开启)
在WSL(尤其是WSL 2)中运行Wails这类GUI应用时,没有界面显示的核心原因是WSL本身无图形渲染能力,需要将Linux的GUI输出转发到Windows的显示服务器上。以下是两种主流解决方案,优先推荐WSLg(原生GUI支持),兼容Windows 11/10(需适配):
WSLg是微软官方为WSL 2提供的GUI渲染方案,内置Wayland/X11服务器和Pulseaudio音频支持,无需额外安装第三方工具,是最稳定的方案。
1. 检查WSLg是否已启用(Windows 11默认开启)
步骤1:确认WSL版本为2
# Windows PowerShell(管理员)中执行
wsl --list --verbose
# 确保目标发行版(如Ubuntu)的VERSION列是2,若为1则升级:
wsl --set-version Ubuntu 2
步骤2:启用WSLg(Windows 11/10 21H2+)
# 启用"虚拟机平台"和"Windows子系统Linux"功能(已装可跳过)
dism /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 设置WSL 2为默认
wsl --set-default-version 2
# 重启电脑后,检查WSLg组件
wsl --update
步骤3:WSL内验证GUI环境
进入WSL终端,执行以下命令测试基础GUI渲染:
# 安装测试工具
sudo apt install x11-apps yad -y
# 运行测试窗口(若弹出图形窗口,说明WSLg生效)
xeyes # 会显示跟随鼠标的眼睛窗口
yad --title "WSLg Test" --text "WSLg GUI正常!" # 弹出提示窗口
2. 运行Wails项目(WSLg环境下)
无需额外配置,直接按常规方式运行即可:
cd 你的Wails项目目录
wails dev # 此时会自动在Windows桌面弹出Wails应用窗口
浙公网安备 33010602011771号