我使用的是Windows11 WSLg (使用Microsoft的安装)和Microsoft中当前的WSLg发行版。
如何启动xfce4
或其他Ubuntu桌面?
目前,apt install xfce4
和startxfce4
后面都会产生错误cannot open display: wayland-0
+ Failed to connect to session manager
和其他一些输出。
在Windows10 WSL2中,在xfce4
客户端安装并在Windows上运行之后,我没有遇到任何问题启动VcXsrv。据我所知,后者在Windows11 WSLg中并不是必要的。
我可以启动独立的x-windows应用程序,如xfce4-appfinder
、thunar
文件管理器和终端模拟器。
发布于 2022-01-07 07:45:34
我认为主要的问题是WSLg已经在运行Wayland参考服务器Wayland的Wayland参考服务器,它有自己的窗口管理器。
如果尝试只运行xfwm4
,就可以看到这一点:
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:
#!/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 -help
显示了一个-terminate
选项,用于在上一个客户端关闭时关闭。在某种程度上,我可能会在另一个问题中提出这个问题。
https://askubuntu.com/questions/1385703
复制相似问题