如何在 Windows 10 商店 Ubuntu APP 上安装 GUI?

如何在 Windows 10 商店 Ubuntu APP 上安装 GUI?

我想在我的 Ubuntu 应用程序上安装 Lubuntu GUI,该应用程序是从 MS Windows Store 应用程序下载的。安装 WSL(适用于 Linux 的 Windows 子系统)后,我得到了一个类似“服务器版本”的版本正在运行(仅限终端)。

我尝试安装“lubuntu-desktop”,tasksel一切似乎都安装好了,但无法启动桌面(可能需要等待重新启动)。

sudo service start sddm(通常会启动到 GUI),得到以下信息:

 * Starting Init script for Simple Desktop Display Manager sddm   [ OK ]

startx得到这个:

xauth:  file /root/.Xauthority does not exist

config/udev: failed to bind the udev monitor
[config] failed to pre-init udev

X.Org X Server 1.20.8
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.15.0-115-generic x86_64 Ubuntu
Current Operating System: Linux LAPTOP-M1HKAT00 4.4.0-19041-Microsoft #488-Microsoft Mon Sep 01 13:43:00 PST 2020 x86_64
Kernel command line: BOOT_IMAGE=/kernel init=/init
Build Date: 04 September 2020  01:34:27PM
xorg-server 2:1.20.8-2ubuntu2.4 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.38.4
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Oct  9 05:59:38 2020
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) xf86OpenConsole: Switching VT failed
(EE)
(EE)
Please consult the The X.Org Foundation support
     at http://wiki.x.org

lspci也不起作用:

    pcilib: Cannot open /proc/bus/pci
    lspci: Cannot find any working access method.

答案1

使用 KVM、VNC、x410 或您选择的任何其他 X 服务器,桌面绝对可以在 WSL2 上运行。我已经这样做了。

感谢@john doe 的建议。

这个 DISPLAY=:0 XDG_SESSION_TYPE=x11 正是这个。

  1. 安装 x410(或 VcXsrv)
  2. 启动 X 服务器(在 Windows 中)
  3. 显示=:0 XDG_SESSION_TYPE=x11 startxfce4

假设启动 xfce 或您选择的任何 GUI 时没有错误,这肯定可以与 WSL1(Windows Build 19043.985)一起使用

使用 VcXsrv 在 WSL1 Ubuntu 20.04 上运行 XFCE

答案2

今天被社区机器人碰到了,因为没有接受的答案,但无论如何它需要一些更新的答案。

我将尝试解决以下几件事:

  • 首先,您没有指定 WSL 版本,但根据命令的输出,几乎可以肯定您使用的是 WSL1 lspci。如果您仍有安装,可以使用 进行检查wsl -l -v。在提出问题时,WSL2 已经发布,但您可能尚未更新到它。

    来自你的一条评论:

    看来 WSL 并不是一个成熟的 Linux 操作系统,甚至不是内核。它只是一个看起来像 Linux 的内核。不支持 GUI 或其他图形支持

    嗯,第一部分在某种程度上是正确的,直到“GUI...不受支持”。至少 WSL1(您正在使用的)是不是真正的 Linux 内核。它是一个转换层,试图将 Linux 系统调用映射到最接近的 Windows API 等效项。因此,在我看来,它做得非常出色,但肯定有些东西没有实现,比如内核 PCI 接口。这就是为什么它lspci在 WSL1 上不起作用的原因——没有该接口的近似值,因此没有/proc/bus/pci

    另一方面,WSL2 确实使用了真正的 Linux 内核。你可以找到源代码这里如果您愿意的话,甚至可以构建和使用您自己的定制版本,但这很少有必要。

  • 然而,两个都在您提出问题时,WSL1 和 WSL2 可以支持 GUI 应用程序。正如 @jritalin 的回答正确指出的那样,实现这一点的常见方法之一是在视窗。我不清楚你为什么在评论中否定了那个答案。你似乎甚至没有尝试过什么是问题的正确答案。也许你刚刚离开了 WSL,因为你第一次没有得到可接受的答案。如果是这样的话,那太糟糕了。

    还有其他方法可以在 WSL 下访问 Ubuntu 桌面(方法 1 或 2)。你也可以使用xrdp我在 Ask Ubuntu 上的其他答案中记录的方法(这里是)。

    不,WSL 不允许直接访问 Windows 显示器,也不允许访问大多数其他硬件。这就是你的sudo service start sddmstartx无法工作的原因——两者都需要一个显示设备,无论是物理的还是虚拟的,视窗在这种情况下拥有。

    即使在 WSL2 下,从lspci技术上讲,工作,但它不会返回任何身体的系统中的设备,就像在虚拟机中一样。

  • 来自另一条评论(不是你的):

    GNOME 在 WSL 1 或 2 中不起作用

    嗯,这不太准确。在 WSL2 下,Gnome 是可以运行的。问题是 Gnome 严重依赖 Systemd,这要求它以 PID1 运行。这在 WSL 下很复杂,因为它需要自己的 init 来启动相当多的功能(如这个答案)然而,可能的让 Systemd 在 PID 命名空间中运行,是 PID1,然后就可以启动 Gnome。这并不容易,我真的不推荐这样做,但它可能的。

  • 以下是您的另一条评论:

    到目前为止,WSL 上似乎没有任何功能。我想我可以假设它是一种类似 SSH(终端)的窗口,而不是具有 GUI 功能的窗口……

    好吧,公平地说,第一部分有点夸张。很多适用于 WSL1 和 WSL2 的;有效的比无效的要多得多。

    大多数命令和功能都无需额外操作即可使用。但有些命令和功能(例如运行 Linux 桌面的特定情况)则需要不同的方法。

    可以将 WSL1 和 WSL2(至少当时存在)视为仅限终端,但它确实可以做更多。最好将其视为以下组合:

      * Running in a container (which it technically is, behind the scenes)
      * The tools and apps from your given distribution (Ubuntu, obviously, in this case)
      * And a bit of [Linux from Scratch](https://www.linuxfromscratch.org) to gain the understanding of how to get the corner-cases working.
    
  • 最后,现在 Windows 11 下有了 WSLg,它提供了在 WSL2 上开箱即用地运行 GUI 应用程序的能力。只需稍加努力,甚至可以在其中运行 Linux 桌面,正如我在另一个答案

答案3

尝试安装 Windows 10 build 21364 或更高版本,然后 wsl --update

答案4

有许多可用的桌面环境,您可以选择任何您想要的,以下命令将帮助您安装 gnome 环境。

sudo apt-get update
sudo apt-get install gnome gnome-session

同时,在你的windows上安装Xming X Server,安装后从windows的开始菜单运行XLaunch并选择全屏模式,确保显示数设置为0,之后,一直按下一步按钮,直到结束。

在 Linux 中安装 gnome 后,运行以下命令

DISPLAY=:0 XDG_SESSION_TYPE=x11 gnome-session

您的带有 gnome 窗口的 ubuntu 应该会出现。

相关内容