为 Linux 增强 Windows 子系统的 7 个技巧

适用于 Linux 的 Windows 子系统或 WSL 是最近出现的最令人兴奋的软件项目之一。 虽然 Microsoft Windows 和 Linux 曾经被认为是死敌,但您现在可以在 Windows 系统上运行成熟的 Linux 应用程序,而无需双启动或设置虚拟机。

如果您使用的是 WSL,如何才能让它变得更好?

获取 Windows 终端

当您从 Microsoft Store 安装 Linux 发行版时,您会看到一个终端窗口,但您的终端有更好的选择。

其中之一是微软自己的 Windows 终端。 此应用程序包含许多您期望从其他现代终端仿真器获得的功能,包括选项卡式窗口。 Windows 终端不仅可以处理 Linux,还可以处理 PowerShell 和旧的命令提示符。

它的边缘仍然有点粗糙。 您必须在 .json 文件。 如果你是一个重度命令行用户,你可能会很舒服地编辑配置文件。

下载: Windows 终端

改变你的外壳

在大多数 Linux 发行版上,包括 Ubuntu,默认 shell 是 Bash。 它没有任何问题,但有经验的 Linux 用户通常对系统开箱即用的方式不满意。 每个人都喜欢对其进行微调,shell 也不例外。

一种流行 bash Unix/Linux 世界中的替代方案是 zsh. 它已经是 Apple macOS 中的默认 shell。 您可以在一个命令中轻松切换到不同的 shell。

在大多数 Linux 发行版上, zsh 默认情况下不安装。 在 Ubuntu 中,您可以使用 apt 安装它:

sudo apt install zsh

将您的外壳更改为 zsh 在 Ubuntu WSL 中,键入:

chsh -s /usr/bin/zsh

如果您使用的是另一个发行版,您想要使用的 shell 的位置可能会有所不同。 系统将提示您输入密码以更改外壳。 要查找 shell 的位置,请键入:

which zsh

如果你想使用不同的外壳,你应该更换 zsh 用那个壳的名字。

访问 Windows 和 Linux 文件

WSL 不仅使您能够并行运行 Windows 和 Linux 程序,还有助于同时访问 Windows 和 Linux 系统上的文件。

这对于开发项目非常方便。 您可以在 Windows 编辑器中编辑程序并在 Linux 窗口中对其进行测试。

Windows文件系统挂载在Linux端 /mnt/[drive letter] 目录。 如果您的 Windows 驱动器是 C, 这将是 /mnt/c. 您可以通过这种方式使用标准 Linux 命令访问所有 Windows 文件。

从 Windows 访问 Linux 文件系统也很容易。 在下方可见 wsl$ Windows 资源管理器中的层次结构。 Windows 将 Linux 系统视为网络驱动器。 如果您安装了 Ubuntu 20.04,它将是 wsl$Ubuntu-20.04.

打开当前目录类型的资源管理器窗口:

Explorer.exe .

升级到 WSL 2

2020 年,微软推出了 WSL 2。对 WSl 1 的主要改进是它使用了实际的 Linux 内核,通过 Windows 更新交付。 这提高了性能,因为内核执行 Linux 系统调用,而不必将它们转换为 Windows 系统调用。

要升级到 WSL 2,您只需发出一些命令。 首先,您激活管理程序。 以管理员身份打开 PowerShell 窗口并键入:

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

然后重启你的机器。

接下来,您需要下载 Linux 内核。 从 Microsoft 网站获取软件包并运行安装程序。

下载WSL 的 Linux 内核

现在,您需要将版本 2 设置为将来安装的任何发行版的默认值:

wsl --set-default-version 2 

但是您需要将任何现有安装升级到 WSL 2。幸运的是,这也很容易。

要查看您安装了哪些发行版,请键入:

wsl --list 

如果要将 Ubuntu 20.04 安装设置为 WSL 2,请使用 –设置版本 选项:

wsl --set-version Ubuntu-20.04 2 

现在,您将在当前和未来的安装中运行 WSL 2 及其所有高级功能,并且内核将使用 Windows Update 进行升级,就像系统上的任何其他驱动程序一样。

收集你的工具

由于平台上可用的编程工具数量惊人,例如编辑器、编译器、IDE、服务器软件等,Linux 在开发人员中仍然很受欢迎。

使用您喜欢的工具为您的新的基于 WSL 的安装配备很容易,就像在其他系统上一样。 您所要做的就是使用系统附带的标准包管理器。

在 Debian 和 Ubuntu 上,这很合适。 在 SuSE 上,它是 YaST。 在 Alpine 上,它是 APK。 关键是,您将找到在 WSL 上运行您最喜欢的开发项目所需的一切,就像在传统的 Linux 安装上一样。

如果您是 C 程序员,Debian 和 Ubuntu 包含一个名为 构建必备 它由 GCC 编译器、C 库、Make 实用程序和包开发工具组成。 它确实是为从事发行版本身工作的人设计的,但对于一般的 C 开发也很方便。

要安装它,您只需使用 apt 命令:

sudo apt install build-essential

它支付给 浏览包装清单 以确保您最喜欢的工具在那里,也许会找到一些新的。

管理服务

虽然大多数时候在 WSL 中您将运行常规命令,但有时您可能需要启动和停止服务。 您可能正在开发一个 Web 应用程序并需要使用 Web 服务器对其进行测试。

幸运的是,启动和停止服务很容易,就像在任何其他 Linux 发行版上一样。

在 WSL 下的 Ubuntu 中有点不同,因为它不使用 系统 管理其服务,但使用 服务 实用程序,它使用较旧的 System V 风格的初始化脚本来管理服务。

如果你想启动 Apache 服务器,您只需发出以下命令:

sudo service apache 2 start

这将启动 Apache 服务器。 您可以使用以下命令检查正在运行的服务 最佳 命令并查看 阿帕奇2 在进程列表中。

停止 Apache 服务器同样简单:

sudo service apache 2 stop

探索不同的发行版

WSL 的许多乐趣来自于您可以同时运行不同发行版的方式,那么为什么不利用在 Ubuntu、SuSE 或 Debian 旁边运行一些鲜为人知的东西,比如 Alpine Linux 呢? 也许你会找到你的新宠。 如果您喜欢某个发行版,可以使用 – 默认设置 旗帜:

wsl --set-default distro-name

在哪里 发行版名称 是您要更改为的系统的名称。

探索 WSL

WSL 有很多选择来探索结合 Linux 和 Windows 的新世界。 似乎总有新的发现。 您可以更改外壳、更改终端、启动和停止服务,以及查看不同的发行版。

适用于 Linux 的 Windows 子系统具有许多与 Linux 发行版完全不同的功能。 但是您仍然可以从使用 WSL 中受益,因为它允许您从 Windows 机器快速访问 Linux 系统。