首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Windows11 WSLg Ubuntu发行版中启动WSLg或其他桌面

在Windows11 WSLg Ubuntu发行版中启动WSLg或其他桌面
EN

Ask Ubuntu用户
提问于 2022-01-07 01:34:52
回答 1查看 9.9K关注 0票数 6

我使用的是Windows11 WSLg (使用Microsoft的安装)和Microsoft中当前的WSLg发行版。

如何启动xfce4或其他Ubuntu桌面?

目前,apt install xfce4startxfce4后面都会产生错误cannot open display: wayland-0 + Failed to connect to session manager和其他一些输出。

在Windows10 WSL2中,在xfce4客户端安装并在Windows上运行之后,我没有遇到任何问题启动VcXsrv。据我所知,后者在Windows11 WSLg中并不是必要的。

我可以启动独立的x-windows应用程序,如xfce4-appfinderthunar文件管理器和终端模拟器。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2022-01-07 07:45:34

我认为主要的问题是WSLg已经在运行Wayland参考服务器Wayland的Wayland参考服务器,它有自己的窗口管理器。

如果尝试只运行xfwm4,就可以看到这一点:

代码语言:javascript
运行
复制
xfwm4-Message: 02:10:49.361: Another Window Manager (Weston WM) is already running on screen :0.0
xfwm4-Message: 02:10:49.361: To replace the current window manager, try "--replace"

(xfwm4:267): xfwm4-WARNING **: 02:10:49.361: Could not find a screen to manage, exiting

尝试使用--replace也没有好处,因为Weston实际上运行在不同的发行版( WSLg "System“)中,并且只是通过由/init注入的套接字连接到实例。

虽然我仍然更喜欢xrdp选项,但Wayland确实提供了自己的X服务器,以实现向后兼容性,因此至少不需要第三方的基于Windows的X服务器,比如Windows 10上的VcXsrv。

通过sudo apt install xwayland安装它。

在这一点上,我相信有一个更好的方法做事情,但这是我想出的到目前为止。创建以下脚本以启动Xfce4:

代码语言:javascript
运行
复制
#!/usr/bin/sh
Xwayland :1 &
xw_pid=$!
WAYLAND_DISPLAY= DISPLAY=:1 dbus-launch startxfce4
kill $xw_pid

当然,设置脚本可执行文件(+x)。

您应该在Xwayland上运行一个Xfce4桌面。

请注意,WAYLAND_DISPLAY需要取消设置,否则Gtk应用程序将首先尝试使用Wayland排序器。

还请注意,Ubuntu是一个完全不同的故事,因为它依赖于Systemd。

附带注意:不过,我仍然想知道的是,我对Wayland在WSLg上也相当陌生:

  • 是否有~/.Xsession的Xwayland支持?(我做不到)
  • 在启动Xwayland时,是否有其他方式来启动会话管理器(或任何客户端)?必须有,因为Xwayland -help显示了一个-terminate选项,用于在上一个客户端关闭时关闭。

在某种程度上,我可能会在另一个问题中提出这个问题。

票数 7
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1385703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档