文章目录
WSL2的安装与使用-Windows与Linux双系统的新选择
既要使用Windows系统满足日常生活,协作办公,又要使用Linux系统满足开发工作,双系统来回重启好麻烦,双主机成本高,远程服务器好多限制,WSL也许是更好的解决方案,可以摆脱以上困扰
1. WSL是什么
WSL全称Windows Subsystem for Linux,适用于Linux的Windows子系统
WSL就是Windows系统下的一个Linux子系统,可以像一个应用一样安装在Windows系统中,为在Windows系统下进行开发的人员提供基于Linux系统的开发环境,并且可以选择不同Linux发行版本,拥有与原生Linux系统相同的大部分功能
微软对WSL描述为:适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销
2. 为什么会有WSL
在通用计算机系统领域Windows拥有着无法撼动的地位,但是Linux具有免费、开源、高安全性、高可用性等特点,在服务器、嵌入式开发、软件开发等领域中,Linux仍是主流的选择。虽然Linux系统拥有诸多优点,但是大部分人日常生活的使用还是无法脱离Windows系统,所以有不少人更多是日常生活用Windows,开发工作用Linux
微软现任CEO纳德拉上任以来开始拥抱开源,微软一度成为开源项目最大贡献者,在收购GitHub之后,又推出了一系列开源产品,如VScode、TypeScript等
微软在2018年发布了WSL,在2019发布了WSL2,作为一个重要的升级,大大增加了文件系统的性能,增加了对全系统调用兼容性的支持,增加了对使用基于 GUI 的 Linux 应用程序的支持。目前,Windows Server 2022已支持WSL2 Linux发行版,也代表WSL2现在已经覆盖了Windows Desktop和Windows Server
当然,微软作为一个商业公司,此举还是为了吸引更多的用户使用Windows
3. 为要选择WSL2作为开发环境
3.1 WSL与WSL2有什么区别
从上面的比较表中可以看出,WSL2架构在几个方面优于WSL1,并且WSL2拥有完整的Linux内核。对于跨OS文件系统的性能,微软也给出了解决办法:可通过将项目文件存储在与处理项目时运行的工具相同的操作系统上进行处理
3.2 Windows与Linux系统的抉择
日常生活办公需要Windows,开发工作需要Linux,对于两者都有需求的人来讲,都不可避免的要来回切换不同的操作系统。虽然,部分人可以在一些Linux发行版上满足日常生活办公的需求,但是,不可否认Windows拥有更加强大的生态和便捷性,更重要的是大家都是合作办公,需要交互。针对双系统的需求,有几种不同的解决方案,各有利弊
解决方案利弊双主机分别安装Windows与Linux独立运行、物理隔离成本高、不同系统数据传输不便单主机双系统真实操作系统使用麻烦,需要重启切换搭建远程服务器真实操作系统成本高、可能受到性能、带宽的限制Linux系统虚拟机使用与真实操作系统基本无差异占用资源、运行效率低WSL2使用便捷、无缝切换、不会产生传统虚拟机或双启动设置开销系统功能可能不完整、无法支持某些软件
对于Windows与Linux系统都有需求的人来说,WSL2是一个非常棒的解决方案,既能满足我们在日常生活办公中使用Windows,又能在开发工作中方便快捷的使用Linux
但是,WSL2毕竟是Windows下的Linux子系统,其运行稳定性的上限还是取决于其宿主Windows系统。若是追求高安全性与稳定性的专用服务器、工作站等,还是直接安装Linux系统
WSL2是一款优秀的产品,如果是只是进行日常开发工作,跑跑Demo,WSL2不失为一个好的解决方案。
4. WSL2的安装
4.1 安装条件
必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11
Tips:若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定” 。
4.2 启用所需Windows功能
安装WSL2需要启用windows功能中的虚拟机平台和适用于Linux的Windows子系统
可以直接使用Windows+R快捷键,在打开的「运行」窗口中直接执行
optionalfeatures
打开「Windows 功能」,或者在控制面板中打开「Windows 功能」启用需要的功能,然后重新启动
4.3 设置默认WSL版本
可以通过PowerShell或者cmd使用下面的命令设置默认版本
wsl --set-default-version <Version>
若要将默认版本设置为 WSL1 或 WSL2,请将<Version>替换为数字 1 或 2,表示对于安装新的 Linux 发行版,你希望默认使用哪个版本的 WSL,例如:
4.4 安装Linux发行版
可以在Microsoft Store里面,通过关键字搜素,查找相关应用,然后选择一个需要的Linux发行版安装
若Microsoft Store打开不顺畅,可以利用下面的方式安装Linux发行版
- 可以通过下面的命令查看可安装的Linux发行版
wsl --list --online
- 然后通过下面的命令安装指定的Linux发行版
wsl --install -d <Distribution Name>
安装指定的 Linux 发行版,请将 <Distribution Name> 替换为你首选的 Linux 发行版的名称(例如 Ubuntu-20.04)
4.5 打开Linux发行版
我们可以通过下面的命令查看已经安装的Linux发行版
wsl -l
- 可以在所有应用里面找到Ubuntu,然后打开,可以将其固定任务栏或开始屏幕以方便快捷启动
- 也可以在Windows的终端中,直接打开Ubuntu
初次打开Linux发行版时,需要设置用户名和密码,输入密码时,屏幕上不会显示任何内容,为盲目键入。
4.6 导出与导入Linux发行版
我们可以将已经安装好的Linux发行版导出,然后安装到其他盘内,以节省C盘空间,同时,在协同开发中也可将导出的Linux发行版共享给他人使用,以实现开发环境的统一
- 以安装好的Ubuntu为例,导出Ubuntu的tar文件到D盘中
wsl --export Ubuntu-20.04 D:\Ubuntu-20.04.tar
- 注销当前已经安装的Linux发行版
wsl --unregister Ubuntu-20.04
- 将导出的Linux发行版重新导入并安装到D盘
wsl --import Ubuntu-20.04 D:\Ubuntu-20.04 D:\Ubuntu-20.04.tar --version 2
- 设置默认登录用户
ubuntu2004 config --default-user <UserName>
<UserName>替换为初次打开Linux发行版时设置的用户名
5. WSL2的使用
5.1 文件操作
Windows系统下,在我的电脑中可以找到Linux子系统的文件夹,可以直接进行访问,并与Windows系统下的文件进行相互操作
5.2 Linux子系统的配置
WSL2安装完成之后,相关的系统配置就与真实的操作系统相似了
以Ubuntu为例,作为国内用户,为了方便我们使用可以更新国内的镜像源
对于使用Python编程的用户,可以安装Anaconda配置相关环境
具体操作就不在此赘述了
5.3 使用VScode连接到WSL2
- VS Code 利用 Remote-WSL 扩展使你能够直接从 VS Code 使用 WSL2 作为实时开发环境
- 通过使用 VS Code 中的快捷方式
CTRL+SHIFT+P
调出命令面板,以访问更多 VS Code 远程选项。 如果随后键入Remote-WSL
,将看到可用的 VS Code 远程选项列表,使你可以在远程会话中重新打开文件夹,指定要在哪个发行版中打开
- 可以选择
Remote-WSL:Open Folder in WSL
打开WSL中的文件夹
- 那么,利用WSL2中Python环境就可以正常编译运行代码,并且在VS Code中可以操作WSL的终端
- 若要从Linux发行版打开项目,可以打开发行版的命令行并输入:
code .
5.4 使用Pycharm连接到WSL2
在Pycharm项目中,可以在设置中将Python Interpreter修改为WSL2中构建的python环境,利用WSL2中Python环境就可以正常编译运行代码,并且可以操作WSL的终端
6. 总结
WSL作为一个开发人员的新选择,满足了Windows与Linux系统的高效使用,相比双系统、虚拟机等方案,WSL更加便捷、高效。随着微软的不断更新和支持,就Ubuntu而言,WSL的体验已经非常接近真实的Ubuntu系统。更多有关WSL的信息可以参考微软官方文档
版权归原作者 视觉之渊 所有, 如有侵权,请联系我们删除。