适用于 Linux 的 Windows 子系统 (WSL):我无法使用适用于 Microsoft Windows 的 Ubuntu 应用程序做什么?

适用于 Linux 的 Windows 子系统 (WSL):我无法使用适用于 Microsoft Windows 的 Ubuntu 应用程序做什么?

大多数人都知道,在 Microsoft Store 中,Ubuntu 的三个版本。这意味着在 Windows 上我可以模拟 Ubuntu 并直接在 Windows 上使用 Ubuntu 命令行。

问题很简单:在 Windows 中模拟的 Ubuntu 命令行上,哪些操作是我不能做的,而在基于 Linux 的 Ubuntu 上却可以做到?下载这个 Ubuntu 应用程序、安装它,然后只使用它而不是使用真正的操作系统,这有用吗?是否可以安装所有开发库?我可以编写(或不编写)设备驱动程序吗?换句话说:限制是什么?

基于 Ubuntu Linux 的 Ubuntu 缺少哪些功能?

欢迎新的答案:我知道每个软件都在通过改进特性和功能而不断改变!

答案1

在 Windows 10 Subsystem for Linux 下运行的 Ubuntu 不是一个完整的发行版。事实上,它根本不是 Linux——它没有 Linux 内核。因此,您无法测试或尝试内核扩展(包括驱动程序),因为你没有运行 Linux

如果你想做这样的事情,要么在虚拟机中安装 Ubuntu——Win10 包含 Hyper-V,但我个人更喜欢免费的 VirtualBox——要么在裸机上运行 Ubuntu,双启动你的机器。你几乎肯定会发现后者比运行 Windows 更快——我在我的所有机器上都是这样。部分原因是运行 Windows 时需要防病毒保护,这会降低性能,尤其是磁盘性能。而由于你需要它,Win10 包含内置防病毒软件。

使用 Linux,您不需要任何功能,因此对性能的影响较小。

答案2

上述每个答案都有很多有用的信息。我在这里总结了每个答案的主要概念。

2020 年 4 月更新:使用 WSL 的优点和缺点是这里解释。很明显,拥有真正的 Linux 内核是一种优势!此外,这里有一个指南可帮助您在 Windows 10 上安装 WSL 2。如果您已经安装了 WSL 1 并且想要升级到 WSL 2,这里您可以找到操作说明。

2019 年 8 月更新: 新的WSL 2被释放(读这里了解更多信息)。看来您可以使用真正的 Linux 内核和 Linux 文件系统。老实说,到目前为止我还没有尝试过新版本(它在我的 TODO 列表中)。

2019 年 5 月更新:正如最近的一个答案所指出的那样,WSL 正在通过使用真正的 Linux 内核并给出更多选项而不断发展。我经历过这个文件如果得到证实,这将是向前迈出的一大步。这里你可以找到一篇关于“W10 上真正的 Linux 内核”的精彩文章

答案 2018 年 7 月 总结: 正如其中一条评论所指出的,“Windows 上的 Ubuntu 是在 Linux 兼容模式下的 Windows 内核上的完整 Ubuntu 用户空间”。

我不能做的事:

  • 官方称,目前不支持任何图形界面。这也意味着无法执行图形应用程序。此外,出于这个原因,经典 Ubuntu Linux 的标准 GUI 当然不受支持。
  • Linus 开发的 Linux 内核不属于 Windows Subsystem for Linux (WSL)。这意味着您无法开发驱动程序并直接试用。
  • 并非每个命令行都有效。

我可以做什么:

  • 使用命令行和基本的 Bash shell。可以编写和执行脚本。
  • 开发应用程序(编译或交叉编译并执行它们)但目前还没有图形。
  • 使用“apt-get”来安装/删除新的/旧的数据包。

附加信息:

  • 其他发行版也得到官方支持(例如 Debian 和 Kali)
  • 这些应用程序都是免费的,可以从 Windows 商店下载,并且这里您可以找到安装和使用它的说明。

  • 在另一个问题中博客中,关于如何使用 WSL 的 GUI 的一些建议(非官方、第三方)

答案3

在 Windows 的 Linux 子系统 (WSL) 下无法轻松完成的事情之一是运行 Linux GUI 应用程序。

为此,您必须安装不受支持的 X11 服务器,例如 VcXsrv 或 Xming。

启用 WSL 相对简单。作为 Linux 命令行用户空间,它似乎相当不错。

答案4

截至 2019 年 5 月,WSL 2 正在开发中

文件系统性能显著提升以及完整的系统调用兼容性,这意味着您可以在 WSL 2 中运行更多 Linux 应用程序,例如 Docker。

...

WSL 2 采用了一种全新的架构,它使用真正的Linux内核

...

WSL 2 的初始版本将于 2019 年 6 月底通过 Windows 预览体验计划推出。

(重点是我的)

相关内容