需手动配置pulseaudio指向wslg服务节点unix:/mnt/wslg/pulseserver并禁用共享内存(enable-shm=no),再通过sox或ekho验证音频链路;前置条件是windows 11 22h2+且wslg已启用。

在 Windows 11 上启用 WSLg 后,WSL2 中运行的 GUI 或命令行音频程序仍无声,说明 PulseAudio 未正确桥接到 WSLg 的音频服务节点,需手动配置客户端连接路径并禁用共享内存以避免卡顿。
确认 WSLg 已启用且基础环境就绪
执行 wsl -l -v 确认发行版为 WSL2;运行 cat /proc/version | grep microsoft 输出含 WSLg 字样,表明系统已集成 WSLg。若无输出,需升级 Windows 11 至 22H2 或更高版本,并运行 wsl --update 更新内核组件。
这一步不可跳过:【WSLg 必须已预装,否则后续 PulseAudio 配置将指向不存在的服务路径】。
安装 PulseAudio 和 ALSA 工具包
以普通用户身份(非 root)执行:
sudo apt update && sudo apt install -y pulseaudio alsa-utils
注意:PulseAudio 在 WSL 中禁止以 root 运行,若当前是 root 用户,请先执行 su - $USER 切换回普通用户再操作,否则后续服务无法启动。
配置 PulseAudio 指向 WSLg 音频服务
WSLg 的 PulseAudio 服务端固定监听 unix:/mnt/wslg/PulseServer,必须显式写入客户端配置文件:
第一步:创建配置目录mkdir -p ~/.config/pulse
第二步:写入服务地址与关键禁用项echo "default-server = unix:/mnt/wslg/PulseServer" > ~/.config/pulse/client.confecho "enable-shm = no" >> ~/.config/pulse/client.conf
这一步中 enable-shm = no 是关键:WSLg 当前对共享内存(shm)支持不稳定,开启会导致播放卡顿或静音,必须禁用。
验证音频链路是否连通
方法一:使用 sox 录播闭环测试(推荐)sudo apt install -y soxrec -d -r 44100 test.wav trim 0 2 → 按 Ctrl+C 停止录制 → play test.wav。若听到两秒人声或白噪音,即成功。
方法二:用 ekho 合成语音直播sudo apt install -y ekhoekho -v zh "音频转发正常"。语音清晰无破音即表示链路有效。
若两法均无声,请检查 Windows 端音量是否静音、输出设备是否选为默认扬声器(非“立体声混音”或禁用设备)。











