赞
踩
WSL是“Windows Subsystem for Linux”的缩写,顾名思义,WSL就是Windows系统的Linux子系统,其作为Windows组件搭载在Windows10周年更新(1607)后的Windows系统中。
既然WSL是“子系统”,那么WSL的地位我们能大概推测出——
“子系统”作为系统层的一部分,相较于应用层(虚拟机)会消耗更少的资源,并且与系统锲合度更高。
因为“子系统”依附于“系统”,所以“子系统”会受到一些限制。
事实上,的确是这样!只需要打开一个类似CMD的Bash命令行窗口,你的WSL就可以使用了(相当于建立了一个Session,因为WSL会一直伴随Win10的运行而运行),相对于从虚拟机启动既省时又省力。
除此之外,虽然WSL不是完整的Linux系统,但你依然可以做到绝大多数在完整Linux系统能做的事(比如vim, apt-get等)。
我们知道,Linux是一个系统内核,那么WSL是Linux发行版吗?并不是。WSL本质上是系统层面对Linux内核的支持
wsl --install
如果wsl安装不了,先将步骤2中的额外内核包下载安装
wsl -l -v
如果 VERSION 是 1 的话,可以通过 wsl --set-version Ubuntu-22.04 2 将 version 版本改为 2
可能遇到的问题
如果将版本从1更改为2失败,(或者没有wsl,可以先完成第三步再下载后面这个内核包),需要额外的内核包,则下载https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi该内核包,并运行安装
安装完后,重启,再次将默认version版本更改为 2
导航栏搜索【启用或关闭windows功能】
勾选【适用于linux和Windows子系统】和【虚拟平台】和【Windows 虚拟机监控程序平台】
以管理员身份运行PowerShell,运行
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
第一次启动需要几分钟时间
然后设置用户名,密码
这时算是安装好了Windows下的linux发行版本了
先搜索最新版的powershell
winget search Microsoft.PowerShell
如果没有winget的话
winget install --id Microsoft.Powershell --source winget
winget install --id Microsoft.Powershell.Preview --source winget
以上任选一个版本下载即可
可能出现的问题
没有winget
在PowerShell中运行如下 去安装winget
Install-Module -Name Microsoft.WinGet.Client
更改默认启动的终端
此时如果在Ubuntu子系统中安装docker,则无法启动docker服务,没有systemctl
可以通过安装docker destop来运行docker
可能出现的问题
docker桌面版,通过左下角点开或者在桌面版上岸 ctrl+, 就会闪退
解决:
暂未解决,打开页面后,直接点击右上角的设置,进入设置页面,不要按ctrl+,或者右下角的标志
或者可以参考这篇-》博客
此扩展使你能够在 VS Code 中打开在 WSL 上运行的 Linux 项目(无需担心路径问题、二进制兼容性或其他跨 OS 的难题)。
此扩展使你能够打开容器内的项目文件夹或存储库,并利用 Visual Studio Code 的完整功能集在容器中执行开发工作。
此扩展添加了从 VS Code 内生成、管理和部署容器化应用程序的功能。 (需要开发容器扩展才能将容器实际用作开发环境。)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。