如何在 Windows 上使用 WSLg 以图形界面运行 Linux

最后更新: 17/12/2025
作者: 艾萨克
  • WSLg 扩展了 WSL 2,允许运行图形应用程序 Linux 与Windows桌面系统集成。
  • 在最新的 Windows 10 系统中,WSL 和 WSLg 的安装已简化为单个命令 `wsl --install`。 Windows 11.
  • WSL 2 通过在轻量级 Hyper-V 虚拟机上使用真正的 Linux 内核,提供比 WSL 1 更好的性能和兼容性。
  • WSL/WSLg 非常适合从 Windows 系统对 Linux 系统进行开发和测试,但它们并不能取代原生生产环境。

Windows 上的 WSLg

如果您使用 Windows 系统,但每天都需要各种工具和环境 用于开发、测试或管理系统的 LinuxWSL 和 WSLg 已成为完美搭档。借助这些技术,您可以在同一台机器上拥有一个几乎完整的 Linux 系统,此外,您还可以像运行原生 Windows 程序一样,通过图形界面启动应用程序,而无需费力地处理虚拟机或复杂的配置,例如通过安装…… Flatpak套餐.

接下来您将看到逐步操作 如何在 Windows 10 和 Windows 11 上安装、配置并充分利用 WSL 和 WSLg什么 comandos 你需要掌握如何选择正确的版本(WSL 1 或 WSL 2),以及它与虚拟机、Docker 或其他技术的区别。 引导 双模,以及你会遇到的局限性,这样你就能知道什么时候值得使用它,什么时候不值得使用它。

WSL是什么?WSLg具体增加了哪些功能?

适用于 Linux 的 Windows 子系统,或 WSL(Linux的Windows子系统)它是微软创建的一个兼容层,允许你在 Windows 中运行 GNU/Linux 发行版(Ubuntu、Debian、Kali、openSUSE、Arch 等),并访问它们的命令、开发工具和服务,而无需设置完整的虚拟机或在双启动中安装 Linux。

WSL 1 翻译了 Linux 系统调用,以便能够理解它们。 Windows 内核通过中间层另一方面,WSL 2 使用基于 Hyper-V 的小型虚拟机,并配备真正的 Linux 内核,这大大提高了性能、兼容性以及运行 Docker、复杂网络服务和需要高级内核功能的实用程序等的能力。

基于此,WSLg应运而生,它只不过是WSL 2的图形扩展,并允许…… 直接在 Windows 桌面上运行带有窗口界面的 Linux 应用程序这意味着您可以打开例如专为 Linux 设计的图形编辑器、浏览器或设计工具,并将其视为普通的 Windows 窗口,其图标会显示在任务栏中,并且可以在系统之间进行复制/粘贴。

这种方法的优势之一在于它与文件系统的集成,因为有了 WSL 和 WSLg。 Windows 和 Linux 系统都可以访问另一端的存储设备。在 Linux 系统中,你可以看到你的硬盘驱动器。 NTFS 巴霍 /mnt/c, /mnt/d等等,从文件资源管理器中,您可以像访问其他文件夹一样访问 WSL ext4 文件系统。

此外,所有这些操作都不会更改您的主 Windows 安装,因此,如果您破坏了 WSL 中安装的 Linux 发行版中的某些内容, 你只需卸载它或重新创建它即可。 而且 Windows 系统将继续完美运行,这对于进行实验或学习来说非常方便,无需担心任何问题。

要求和兼容的 Windows 版本

在深入了解 WSLg 之前,务必先确认以下几点: 您的 Windows 版本可以正确支持 WSL 2因为 WSLg 正是依赖于该子系统的第二个版本。

要使用现代简化的安装命令,您至少需要 Windows 10 版本 2004(内部版本 19041)或任何版本的 Windows 11在这些版本中,只需一条命令即可安装整个环境,无需浏览可选功能菜单或使用额外的安装程序。

如果您使用的是早期版本的 Windows 10,仍然可以使用 WSL,但您需要使用其他方法。 手动安装和最经典的配置 (例如,通过控制面板启用某些功能、单独安装内核等)。无论如何,为了安全、性能和兼容性,始终建议将系统更新到最新版本。

除了 Windows 版本之外,您还需要它。 BIOS 或者您计算机的UEFI 硬件虚拟化已启用 (英特尔 VT-x、AMD-V 或同等技术)。如果没有该选项,WSL 2 将无法启动其底层使用的轻量级虚拟机,并且在安装过程中您会看到类似 0x80370102 的错误。

在要求更高的场景下,例如运行大量开放应用程序的 WSLg 或大型 Docker 容器,也建议这样做。 至少 8GB 内存和一块固态硬盘这样系统就不会在每次启动开发环境时出现卡顿。 数据库 或图形工具。

使用单个命令安装 WSL 和 WSLg

如今最简单的入门方法是使用 Windows 内置命令,该命令会自动为您安装整个 Linux 子系统。过程非常简单: 打开 PowerShell的 ØEL 命令提示 具有管理员权限 (右键单击 > “以管理员身份运行”)然后运行:

  Windows 11 正在准备具有完整暗模式的更新。

wsl --install

此命令启用必要的 Windows 功能,下载并安装 WSL 软件包,并将其默认添加。 Ubuntu 作为入门级 Linux 发行版 同时,还要准备 WSL 2 的组件。在最新版本的 Windows 11 中,WSLg 已作为同一软件包的一部分安装,因此您可以立即获得图形支持。

在此过程中,您会在控制台上看到消息,告知您相关信息。 软件包下载、发​​行版安装和基本配置完成后,Windows 会要求您重新启动计算机以完成操作,因为虚拟机平台等系统组件已被启用。

首次运行新安装的发行版(例如,在“开始”菜单中搜索“Ubuntu”)时,会打开一个类似终端的窗口,该窗口将提取基本系统并询问您。 创建您自己的 Linux 用户名和密码此信息无需与您的 Windows 帐户匹配,并且仅会在本发行版中使用。

如果您需要更精细的控制,同一个安装命令还提供了几个附加选项,例如 选择发行版、更改安装位置或不启动安装 自动环境:

  • wsl --install --distribution Debian 安装 Debian 而不是 Ubuntu。
  • wsl --install --no-launch 如果您希望发行版安装完成,但不要在安装完成后打开它。
  • wsl --install --web-download 强制从互联网下载,而不是通过微软商店下载。

手动激活 WSL 和 WSL 2(PowerShell、CMD 和 Windows 功能)

虽然之前的命令最直接,但在某些企业环境或特定版本中,您可能需要 手动激活 WSL 组件 使用“Windows 功能”或管理员命令。

如果您更喜欢传统的图形化方法,可以打开 Windows 搜索栏并输入“Windows 功能”。在出现的窗口中,选中相应的复选框。 “适用于 Linux 的 Windows 子系统”和“虚拟机平台”确认更改,并在系统提示时重新启动以启用服务。

您也可以使用管理员权限通过 PowerShell 执行此操作,这对于脚本或 Windows 服务器来说非常实用,因为在这些情况下您不想使用图形界面。为此,请运行:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

重启计算机后,就可以进行虚拟化了。要激活虚拟机平台(WSL 2 需要),您可以使用以下命令: DISM 工具 在 PowerShell 中使用此命令或 CMD 高的:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

在 Windows 10(2004 年及以后版本)和 Windows 11 的现代版本中,整个过程已简化到上述步骤即可满足要求的程度。 wsl --install,但 掌握这些指令可以帮你摆脱困境。 当出现故障、需要自动部署或在新的向导出现之前安装了 WSL 时。

选择Linux发行版和管理多个发行版

子系统启动并运行后,下一步是决定使用哪个 Linux 发行版。默认情况下,Windows 会安装 Ubuntu,但您也可以选择其他发行版。 列出所有可用的在线发行渠道 搭配:

wsl --list --online

系统将显示 分发目录 支持 WSL:支持各种版本的 Ubuntu、Debian、Kali Linux、openSUSE 等。要安装其中任何一个,只需运行:

wsl --install -d <NombreDistribucion>

安装完成后,您将看到每个发行版都显示为一个 开始菜单中的独立应用程序 Windows 系统有自己的图标。您可以从那里打开它们,也可以使用 PowerShell/CMD 命令打开它们,例如: wsl -d Debian根据每个人的名字。

要检查本地已安装哪些发行版,以及它们运行在 WSL 1 还是 WSL 2 上,请使用以下命令:

wsl --list --verbose

在输出结果中,您将看到每个分布及其 状态(运行中或已停止) 及其关联的 WSL 版本。如果您想安装多个发行版,完全可以: WSL 支持安装任意数量的 Linux 系统。无论是从微软商店导入、从 TAR 文件导入,甚至是虚拟磁盘。 .vhdx.

WSL 1 与 WSL 2:应该使用哪个版本以及如何切换

自 2020 年 5 月 Windows 10 更新以来,微软已向用户提供此功能。 WSL 2 是 WSL 1 的直接演化版本。主要区别在于 WSL 1 是一个转换层,而 WSL 2 依赖于具有真正 Linux 内核的轻量级 Hyper-V 虚拟机,这显著提高了兼容性和性能。

WSL 2 解决了许多与文件访问、服务支持以及密集型输入/输出操作的性能相关的问题,达到了极高的水平。 在某些任务中,加速度可达数百个百分点此外,与文件资源管理器的集成更好,您可以更直接地访问 ext4 系统,切换发行版或导出/导入环境也更加简单。

  有关如何删除 Gmail 中重复联系人的提示

要了解每个已安装发行版使用的 WSL 版本,您可以运行以下命令:

wsl -l -v

该命令允许您 了解每个发行版使用的 WSL 版本 并计划是否值得将任何内容迁移到 WSL 2。

如果您希望今后安装的所有新发行版都自动创建在 WSL 2 上,请使用以下命令设置默认版本:

wsl --set-default-version 2

如果您之前已经在 WSL 1 上创建了一个发行版,现在想利用它的功能,那么 无需从头开始重新安装即可享受 WSL 2 的优势您可以使用以下命令进行转换:

wsl --set-version <NombreDistribucion> 2

首次启动、系统更新和基本命令

首次打开新安装的发行版(Ubuntu、Debian 等)时,您会看到基础环境完成配置。然后,系统会询问您…… 创建 Linux 用户名和密码请记住,此帐户与您用于登录 Windows 的帐户是不同的。

进入系统后,你将拥有一个功能齐全的Linux终端,所以最好的做法是…… 更新系统包 就像在物理计算机或虚拟机上一样,然后决定是否 立即应用更新对于 Ubuntu 或 Debian 系统,典型的命令是:

sudo apt update && sudo apt upgrade

接下来,如果您是 Linux 新手,可以开始熟悉一些基本命令。例如: ls, cd o pwd 它们可以让你列出文件、更改目录或知道你当前所在的路径:

  • ls 显示当前文件夹的内容。
  • cd nombre_carpeta 切换到指定目录。
  • pwd 打印出你当前所在的绝对路径。

如果你是一名开发人员,你会发现能够做到这一点非常有用: 安装编译器、解释器、服务器和框架 直接在这里操作,就像在任何真正的 Linux 服务器上一样: git, Node.js, Python, PHP数据库、消息队列等。

如何在 Windows 系统中打开 WSL 并运行命令

当然,如果您想返回 Linux 环境,无需重复整个安装过程。您可以通过多种方式打开发行版: 从“开始”菜单、Windows 终端或 PowerShell/CMD 中打开 使用命令 wsl.

如果你想直接在 Linux 系统“内部”工作,只需输入: wsl (或者发行版的名称,例如) ubuntu在 PowerShell 中执行以下命令。这将启动默认发行版的交互式会话,您将在提示符处看到类似这样的内容: usuario@equipo:~$.

另一个非常方便的选择是 从 Windows 运行单个 Linux 命令 无需进入 shell。例如,您可以使用 PowerShell 从 Linux 的角度列出当前目录的内容,命令如下:

wsl ls

如果您希望 WSL 直接在您的主目录中启动,可以使用快捷方式 ~ 使用命令:

wsl ~

这个技巧允许 从您的主目录开始 无需额外步骤。

要更改默认发行版(即未指定名称时启动的发行版),您可以运行以下命令:

wsl --set-default <NombreDistribucion>

此命令用于 更改默认发行版 以一种简单的方式

Windows Terminal:WSL 和 WSLg 的理想搭档

虽然您可以通过 PowerShell 或经典 CMD 使用 WSL,但如果您安装 WSL,体验将大大提升。 来自 Microsoft Store 的 Windows Terminal这款现代控制台应用程序允许您打开多个选项卡和面板,每个选项卡和面板都指向 PowerShell、命令提示符、不同的 Linux 发行版、Azure CLI 以及您需要的任何其他内容。

在 Windows Terminal 中,您可以为每个 WSL 发行版或不同类型的 shell 创建特定的配置文件,这非常容易实现。 直接在你要使用的发行版中打开一个新标签页。您还可以自定义颜色、字体、 Linux 中的键盘快捷键 以及便于区分每个环境的背景。

配置完成后,Windows Terminal 实际上就变成了 用于控制 Windows 和 Linux 的中央工具 同时:几个标签页用于存放你的 WSL 代码和脚本,另一个标签页用于…… 日志 一台通过 SSH 在远程服务器上运行,另一台通过 PowerShell 管理 Windows 服务等等。

即使你不打算使用 WSL,许多开发者也已将 Windows Terminal 作为他们的主要终端,因为它取代了 PuTTY 等较旧的实用程序,并提供了与操作系统和 Git 等工具集成的更加现代化的体验。

WSLg:在 Windows 上使用 Linux 图形应用程序

WSLg的出现正是为了解决WSL历史上一个主要的缺陷:缺乏…… 官方且高度集成的 Linux 应用程序图形环境直到最近,如果你想从 WSL 使用完整的桌面或 GUI 程序,你不得不求助于外部 X 服务器、VNC 或 Win-KeX 等项目(以 Kali 为例)。

借助 WSLg,微软将基于 Wayland 和 X11 的图形服务器集成到子系统本身中,因此当您启动带有图形界面的 Linux 应用程序时,它会显示在 WSLg 中。 Windows桌面就像普通的窗口一样它与任务栏集成,可以固定,并且支持 键盘快捷键 并可在可用时受益于 GPU 图形加速;您可以通过以下方式进行检查: Linux gpu-viewer命令.

  将歌曲添加到播放列表的简单方法,无需将它们添加到 Apple Music 的库中

这为处决打开了方便之门。 图形文本编辑器、集成开发环境 (IDE)、浏览器、设计和管理工具 在不放弃 Windows 的情况下,提供 Linux 特有的功能,同时保持对文件系统和其他原生应用程序的直接访问。

在 Kali Linux 等发行版中,开发者们创造了一些特定的体验,例如 WinKeX它允许您在 Windows 窗口中打开完整的 Kali 桌面,或者将 Kali 图形应用程序与 Windows 环境合并,使两个平台能够非常自然地共存。

虽然微软仍在完善和扩展这些功能,但WSLg已经为那些想要使用WSLg的用户提供了一个非常坚实的基础。 使用 Linux 图形用户界面,而无需完整的虚拟机而对于那些厌倦了使用 X11 或 RDP 进行手动配置的人来说,这确实带来了不少麻烦。

与其他替代方案相比,使用 WSL 和 WSLg 的实际优势

从开发者或管理员的角度来看,WSL 和 WSLg 解决了几个常见的需求,而这些需求以前需要更繁琐的解决方案。其中最主要的一点是: 您可以在几乎与生产环境完全相同的环境中进行开发。通常情况下,服务器是 Linux 系统,但不会放弃您可能更习惯或公司采用的 Windows 桌面系统。

这意味着您在生产环境中使用的库、运行时版本、包管理器、数据库、消息队列和其他组件可能会受到影响。 需要在本地环境中非常忠实地复现。减少因 Windows 和 Linux 之间的差异而产生的“在我的机器上运行正常”之类的经典评论。

对于学习 Linux 的人来说,WSL 也是一个很好的入门点,因为它提供了一个足够真实的环境,同时, 几乎不可能不可逆转地打破如果发行版损坏或设置混乱,您可以将其删除并重新开始,而不会影响主机操作系统。

另一个显著优势是硬件支持。在设备方面。 手提桌面版 Linux 有时会出现问题 驱动程序, 包含 Linux 中的二进制数据块睡眠、Wi-Fi 或声音。相比之下,由于 WSL 中的主机系统是 Windows, 所有兼容性都依赖于微软驱动程序。Linux 发行版会将一组虚拟设备视为一组通常可以正常工作且不会出现任何问题的设备。

此外,文件系统之间的互操作性非常强大。您可以在 Linux 系统中挂载 ext4 格式的驱动器,也可以在 Windows 系统中访问它们。 Linux 驱动程序通过 WSL 运行如果您有使用该文件系统的磁盘,并且需要在不安装第三方实用程序的情况下恢复文件,这将非常有用。

局限性以及何时 WSL/WSLg 不足以满足需求

尽管 WSL 有诸多优点,但它并非直接运行在硬件上的原生内核​​,而是…… WSL 2 依赖于 Hyper-V 虚拟机这在极致性能、可扩展性或对某些特定类型硬件的访问方面带来了一些天然的限制。

在 WSL 1 中,由于缺少真正的 Linux 内核,像 Docker 这样的工具根本无法正常运行,因为它们需要内核级的功能,而 WSL 1 并不提供这些功能。WSL 2 修复了这个问题,但仍然存在一些问题。 极具挑战性的生产场景 其中,使用专用虚拟机或运行 Linux 的物理服务器仍然是最明智的选择。

WSL 中的网络也经过多层虚拟化,这会带来一定的性能损失。在服务或测试中, 极低级别的网络性能至关重要与原生安装的 Linux 系统相比,您可能会注意到更多的延迟或限制。

还有一些特定的外设和使用场景(例如某些专用 USB 硬件、某些扩展卡等),它们与 Hyper-V 将设备暴露给 Linux 子系统的方式不兼容。在这种情况下,传统的虚拟机或双启动设置可能更适合您。

最后,还有一个近乎哲学层面的问题:将 Linux “隐藏”在 Windows 中,并能够通过 WSLg 运行 Linux 图形应用程序。 许多用户都坚持使用这一层。 他们从未体验过在完整的 Linux 桌面系统上工作的感觉,该系统拥有自己的窗口管理、系统理念和应用程序生态系统。

如何在 Windows 和 Linux 上安装 NVIDIA CUDA
相关文章:
如何在 Windows 和 Linux(WSL 和 Native)上安装 NVIDIA CUDA