当前位置: 首页 > 科技观察

双启动的日子已经结束:Windows和Linux将成为一体

时间:2023-03-14 16:39:21 科技观察

很长一段时间,双启动是我唯一的解决方案。我一直在使用Apple笔记本电脑做几乎所有事情:开发、撰写提案、创作音乐等。但它并不完美,而且我害怕供应商锁定并且过于依赖Apple的突发奇想,所以我也是寻找新的解决方案。我着手建立一个机器学习工作站;出色的CPU、大量RAM、良好的GPU等。除了在MicrosoftOffice中撰写提案外,我选择的操作系统几乎都是Ubuntu。Officeonline还不存在,LibreOffice很烂。因此,我的解决方案是安装Ubuntu和Windows10双系统。从MacOS切换到Ubuntu非常自由,构建个人PC的选择几乎没有界限。在无数次的系统切换之后,WSL出现了。我开始将我的部分工作流程转移到Windows,但仍然缺少很多功能。然而,WSL2似乎改变了游戏规则。本文将向您展示这些奇妙的变化。什么是WSL2WSL2是WSL中架构的新版本,它改变了Linux与Windows交互的方式。此版本改进了文件系统性能并增加了完整的系统调用兼容性。当然,Linux发行版可以作为WSL1或WSL2运行,选择权在您,您可以随时在它们之间切换。WSL2是对底层架构的重大改革,使用虚拟化技术和Linux内核来启用其新功能。Microsoft会处理琐碎的细节,因此您可以专注于重要的事情。安装微软承诺在不久的将来为WSL2提供流畅的安装体验,并能够通过WindowsUpdate更新Linux内核。但是目前的安装过程有点复杂,不过不用太担心。此示例将在Windows10上安装Ubuntu20.04,但安装过程对于MicrosoftStore中的任何发行版都是相同的。首先,启用适用于Linux的Windows子系统可选功能。以管理员身份打开PowerShell,运行:dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestart接下来,要将系统更新到WSL2,必须满足以下条件:Windows10有更新至2004版;在BIOS设置中启用英特尔的“虚拟机平台”。然后,以管理员身份启动PowerShell并运行:dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all/norestart并重新启动计算机以完成WSL安装并更新到WSL2。然后,将WSL2设置为默认值安装新发行版时的版本。以管理员身份打开PowerShell并运行以下命令将WSL2设置为默认版本:wsl--set-default-version2运行此命令后,您可能会看到以下命令:WSL2需要更新其内核组件。有关信息,请访问https://aka.ms/wsl2kernel。按照从该页面安装的链接在您的计算机上安装Linux内核以与WSL2一起使用。安装内核后,再次运行该命令并成功完成。最后,安装所选的Linux发行版。打开MicrosoftStore并搜索Ubuntu20.04LTS。安装后,在开始菜单中找到一个新的Ubuntu应用程序,启动它并按照说明完成安装。要检查您选择的Linux发行版是否设置为WSL2,请运行wsl--list--verbose。如果所选Linux发行版受WSL1支持,请运行wsl--set-version。就是这样!您有一个在Windows10中运行的完整Ubuntu发行版。开发人员工作站Ubuntu已准备就绪,现在您可以安装任何所需的程序。如果你是数据科学家,你可以安装相对较新的Anaconda发行版;如果你是前端工程师,可以安装angular和npm等。我想重点介绍两个工具:VisualStudioCode和Docker+Kubernetes。VisualStudioCodeVisualStudioCode是很多开发者首选的集成开发环境(IDE),现在启用了WSL2,VSCode的RemoteDevelopment扩展(远程开发)是绝对必须的。此插件支持使用WSL2、容器映像甚至源代码通过SSH在远程VM上进行远程开发。因此,现在可以在WSL2支持的Linux发行版中创建项目文件夹,并使用安装在Windows10上的VisualStudioCode编辑器作为IDE。其功能包括:对IntelliSense、git集成、VisualStudioCode扩展、调试器和终端的完整语言支持。Docker+KubernetesDockerforWindows很棒,但它缺少我最喜欢的东西之一,所以每当我需要为代码构建docker镜像时,我必须在Windows和Ubuntu之间切换。但WSL2全面支持docker,这比纯Linux的体验还要好。首先,单击DockerDesktopSettings,勾选EnableWSL2basedengine复选框UsetheWSL2basedengine。为WSL2启动Docker此外,您可以通过单击设置中的Kubernetes按钮并选中重新启动Kubernetes集群复选框来运行本地Kubernetes集群。在WSL2上启用Kubernetes现在,切换回WSL2中的Ubuntu,运行dockerversion或kubectlversion,并确认这两个版本都已启动并正在运行。在WSL2中运行的Docker和Kubernetes优势:新的Windows终端应用商店将新的Windows终端定义为现代、快速、高效、强大且高效的命令行工具和shell(例如命令提示符、PowerShell和WSL)用户,主要功能包括多选项卡支持、窗格、Unicode和UTF-8字符支持、基于GPU计算的文本渲染引擎以及自定义主题、样式和配置。此外,它非常美观,可以通过其辅助功能设置(只是一个JSON文件)根据需要设置样式。尽管产品路线图中仍缺少一些功能,但WSL2已经在顺利运行。在接下来的几个月里,我们也将能够通过一条命令安装WSL。打开Windows终端并键入wsl.exe--install。此外,首次安装时,WSL2将是默认版本。开发者最期待的功能有两个:GPU支持和GUI应用程序支持。自WSL1发布以来,人们强烈要求向WSL添加CUDA和/或GPU计算支持。WSL、虚拟化、DirectX、Windows驱动程序团队及其芯片合作伙伴在过去几年一直致力于提供此功能。在WSL2(支持CUDA)上训练深度学习模型此外,Linux将支持GUI应用程序。例如,可以在已安装的Linux环境中运行您喜欢的LinuxGUI文本编辑器或IDE,甚至可以在Windows机器上开发LinuxGUI应用程序!WSL2支持LinuxGUIWSL2完全有能力将WindowsPC变成运行Linux发行版的最佳开发者工作站,它有在线速度和功能,未来还有更多值得探索的东西。双系统的日子即将结束,更极致的体验已经到来。