WSL2 首选启动方式

WSL2 首选启动方式

我刚刚在带有 Ubuntu 后端的 Windows 10 机器上安装了 WSL2,并且注意到我现在至少有 3 种不同的方法可以通过Start+启动 Linux shell Run

  • bash
  • ubuntu
  • wsl

我很惊讶地偶然发现了三种不同的方法来做看似同一件事。

如果有的话,它们之间有什么区别?

在 WSL2 中启动 Linux shell 有没有首选方法?

三个贝壳上有 3 个截然不同的图标

答案1

从技术上讲,这是两个不同的问题。我先回答第二个问题:

第一个问题——在 WSL2 中启动 Linux shell 有没有首选方法?

在我看来,启动 WSL 实例的首选方法是微软推出的新 Windows 终端,可在 Microsoft Store 或开放源码形式在 Github 上。Windows Terminal 将在其默认设置下自动检测任何已安装的 WSL 发行版并为其创建菜单启动器。它是迄今为止功能最丰富的原生 Windows 应用程序终端,尽管它也可能的安装 X 服务器并使用大量 Linux GUI 终端。

提示:我建议安装一个书呆子字体它们支持附加的字形。

第二个问题——您列出的三个命令之间的区别。

之前有一个答案,其中有一些很好的细节是从 Microsoft devblog 复制过来的。我将采用与上一个答案略有不同的方法,并提供更多细节:

  • wsl.exe(或者就wsl在 cmd 或 PowerShell 下)是您提到的三个中最新的一个。还有许多其他选项可以与 一起使用wsl。请参阅这一页了解更多信息。选项包括:

    • 启动不同的发行版或实例
    • 以任何用户身份启动默认或不同的发行版(对于 root 用户来说非常方便)
    • 导出发行版/实例以用于备份或克隆目的
    • 重新导入以前导出的发行版 - 恢复备份或克隆实例。
    • 设置默认 WSL 版本(1 或 2)
    • 更改现有实例/发行版的版本
  • ubuntu:这只是 Microsoft Store(以前称为“UWP”)应用的“应用执行别名”。只有通过商店安装时才会出现。您可以在 Windows 应用执行别名设置屏幕中看到它。

    它的效果和你启动应用程序,即在“Ubuntu 终端”(名字很差劲,但我在 Canonical 网站上找到了这样称呼它的参考资料)中启动默认的 Ubuntu 安装。我不确定这背后的“真正”终端是什么,但它有点问题,似乎不受支持。

  • bash: 根据本文档bash是“历史命令”,“仍然可以使用”。老实说,在我看来,这离“弃用”只有一步之遥。

答案2

文章 调用 WSL 的指南 解释每次调用之间的细微差别,每次调用都略有不同:

韋斯特

第一种方法(也是推荐的!)将启动您的默认发行版。此外,它会在您调用命令的当前工作目录中启动发行版。您可以使用“wslconfig”工具更改默认发行版。

*Ubuntu

或者,您可以通过名称指定要启动的确切发行版。我们现在在商店中有多个发行版,可能有些情况下您希望启动未标记为默认的发行版。以 Ubuntu 为例,只需调用“ubuntu”即可。这将使用默认 shell 启动发行版用户空间。

狂欢

这将尝试在默认发行版中启动 bash。即使您已将发行版配置为具有另一个默认 shell(例如 zsh),它仍将尝试启动 bash。

相关内容