Windows 的 Linux 子系统

Windows 的 Linux 子系统

Linux 有 Windows 子系统并且... Windows 有 Linux 子系统吗?这允许您在 Linux 上访问 Windows 终端,就像在 Linux 的 Windows 子系统上一样。

适用于 Linux 的 Windows 子系统允许开发人员直接在 Windows 上运行 GNU/Linux 环境(包括大多数命令行工具、实用程序和应用程序),无需修改,无需传统虚拟机或双引导设置的开销。您可以: 从 Microsoft Store 选择您最喜欢的 GNU/Linux 发行版。运行常见的命令行工具,例如 grep、sed、awk 或其他 ELF-64 二进制文件。运行 Bash shell 脚本和 GNU/Linux 命令行应用程序,包括: 工具:vim、emacs、tmux 语言:NodeJS、Javascript、Python、Ruby、C/C++、C# & F#、Rust、Go 等 服务:SSHD、MySQL 、Apache、lighttpd、MongoDB、PostgreSQL。使用您自己的 GNU/Linux 分发包管理器安装其他软件。使用类 Unix 命令行 shell 调用 Windows 应用程序。在 Windows 上调用 GNU/Linux 应用程序。

答案1

不,那是不可能的。

如果您想在 Linux 计算机上拥有完整甚至部分功能的 Windows 环境,您需要双启动或虚拟机。

如果您只是寻找一个或几个可以使用的特定应用程序葡萄酒

“Windows 终端”让我对你的问题感到困惑,因为这并不是一个真正的东西,或者至少不是一个容易定义的东西,但如果你只是在寻找可以在 Linux 上本地安装的 powershell 的话。

此外,在 Windows 上访问 wsl 实例的方法几乎是无限的,因此说“像 wsl 一样访问”实际上并不是一个有用的描述。我可以 ssh 到我的 wsl 实例,这样你就可以在你的 linux 机器上安装一个 Windows 虚拟机并通过 ssh 到它,这就是“像 wsl”,或者我通常只需在命令行中输入“ubuntu”来访问我的 wsl 实例,这样你就可以当你输入“ubuntu”时,可以在你的Linux机器上创建一个别名来运行Windows,但这可能没有多大意义......

答案2

WSL 不仅仅是“在 Windows 上访问 Linux 终端的一种方式”。它更深入一些:它在 Windows 内核之上提供了一个与 Linux 兼容的编程 API,允许您在 Windows 上运行 Linux 用户空间程序。

由于 Linux 的 unix 风格的编程 API 依赖于终端之类的东西,因此 WSL 也需要提供它们。

相反,在 Linux 上提供 Windows 编程 API 以及与 Windows 基础设施的一些必要部分相当的东西,已经存在了,而且实际上存在的时间比 WSL 还要长。它的名字叫酒,并且您的 Linux 发行版可能已经包含它的预打包版本。

您可以wine cmd在 Linux 上运行,以在 Linux 终端窗口中运行 Windows 命令 shell。 (与 Windows 命令提示符窗口相比,Linux 终端窗口通常是升级版。)

但是,由于 Windows 不是开源操作系统,因此并未发布其所有 API。因此,Wine 的某些部分依赖于逆向工程,可能无法完美运行。还可能存在许可问题:根据您所在的司法管辖区,您可能无权在非 Microsoft 操作系统上运行 Microsoft 应用程序。

答案3

简单的答案是否定的。但是,您可以在 Linux 中安装 powershellcore 和 .NET core,这是下一步。

https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux

https://docs.microsoft.com/en-us/dotnet/core/install/

相关内容