永夜-Evernight

永夜降临之前,你都有改变的资格

Windows10上安装Linux子系统(WSL2,Ubuntu),配合Windows Terminal使用

Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。

WSL

说白了安装Linux就是基于WSL,之前WSL 1 我没使用,现在WSL 2 了于是试了下,反正体验不错。对于我这种Linux初学者够用,而且少了虚拟机的开关我系统启动,使用频率变高了。

WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。
这一新的体系结构改变了这些 Linux 二进制文件与Windows 和计算机硬件进行交互的方式,但仍然提供与 WSL 1(当前广泛可用的版本)中相同的用户体验。
单个 Linux 分发版可以在 WSL 1 或 WSL 2 体系结构中运行。 每个分发版可随时升级或降级,并且你可以并行运行 WSL 1 和 WSL 2 分发版。 WSL 2 使用全新的体系结构,该体系结构受益于运行真正的 Linux 内核。

WSL 2 安装

WSL 2 需要运行 Windows 10(已更新到版本 2004 的内部版本 19041 或更高版本)。所以第一步如果你系统版本不对,升级你的系统。如果系统升级版本太久远,或者升级不成功可以使用微软提供的升级工具https://www.microsoft.com/software-download/windows10

升级完成后安装WSL,可以直接在“启用或关闭Windows功能”面板里面安装。

也可以以管理员身份打开 PowerShell 用命令方式安装。
首先启用“虚拟机平台”功能

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

然后重启下,运行安装

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

安装完成后可以输入 wsl --help看看安装是否成功。

Linux安装

打开 Microsoft Store,选择你喜欢的安装,我安装的是Ubuntu。

安装完成后可以当作应用程序来使用,直接打开操作就行了。

Windows Terminal

使用上面安装后的启动也可以,但是要玩就玩全套,再安装一个Windows Terminal玩玩。
关于Termianl的介绍,这里引用官方解释。

Windows 终端是一个面向命令行工具和 shell(如命令提示符、PowerShell 和适用于 Linux 的 Windows 子系统 (WSL))用户的新式终端应用程序。 它的主要功能包括多个选项卡、窗格、Unicode 和 UTF-8 字符支持、GPU 加速文本呈现引擎,还可以用于创建你自己的主题并自定义文本、颜色、背景和快捷键绑定。

安装直接在Microsoft Store里面搜索安装就行了,没什么好说的。
自定以的东西可以参照官网自己修改,注意:网上美化的文档基本都是WSL 1 的,WSL 2 的定义与1有很多变化,最好的方式就是参照官网https://docs.microsoft.com/zh-cn/windows/terminal/customize-settings/global-settings


我的只实验性的改了下主题和背景,其它的暂时没去试。

最后

我的配置使用起来和以前没有什么区别,也没什么性能损耗,自己安装来玩还是很不错的选择,起码方便很多。

另外可以配合VS Code 使用 WSL 作为你的全时开发环境。
WSL 是作为一个服务运行,如果你想关闭WSL 关闭服务就行了。

作者:SunSpring
出处:[https://www.cnblogs.com/SunSpring(https://www.cnblogs.com/SunSpring "from")
本文版权归作者所有,欢迎转载,但未经作者同需在文章页面明显位置给出原文链接。


标题:Windows10上安装Linux子系统(WSL2,Ubuntu),配合Windows Terminal使用
作者:luomuren
地址:http://luomuren.top/articles/2021/04/11/1618155897752.html