我无法在 WSL 下运行 GUI 应用程序。首先,我尝试运行 Synaptic,但它显示了以下消息:
Unable to init server: Could not connect: Connection refused
Failed to initialize GTK.
Probably you're running Synaptic on Wayland with root permission.
Please restart your session without Wayland, or run Synaptic without root permission
然后我尝试运行gedit
并得到了这个:
Unable to init server: Could not connect: Connection refused
(gedit:36): Gtk-WARNING **: 12:46:33.434: cannot open display:
有人建议我可以通过远程桌面连接使用它,但我希望它与系统集成。
虽然在 WSL 下运行 GUI 应用程序有多种选项,但唯一一个“与系统集成”的选项需要带有 WSLg 的 Windows 11。虽然您没有提及您使用的是哪个 Windows 版本,但从第二个错误中可以看出您可能正在运行 Windows 10。
Windows 11 包含一项名为 WSLg 的新功能,该功能提供 Wayland/Weston/Xwayland 分发版,以支持直接在 Windows 桌面上运行 GUI 应用程序。然而,具有讽刺意味的是,它确实在幕后使用远程桌面协议(带有扩展)来执行此操作。
如果您此时无法升级到 Windows 11,未直接集成到 WSL 中的两个通用解决方法(尽管您已经说过这不是您的偏好)是:
xrdp
正如我在这个答案中提到的