你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Windows和Linux将合二为一?

[复制链接]
gaosmile 发布时间:2020-8-28 21:01
很长一段时间以来,双系统是我唯一的解决方案。 我一直在用的是一台苹果笔记本,它几乎可以做任何事:开发、写提案、创作音乐等。但它也不是十全十美的,我很害怕供应商被锁定,也担心自己过于依赖苹果的奇思妙想,因此我也在寻求新的解决方案。
: V$ x9 h0 `+ T" Q! k 笔者着手搭建了一个机器学习工作站;出色的CPU、大量的RAM和性能极佳的GPU等等。除了要用Microsoft Office写提案,我选择用的操作系统几乎都是Ubuntu。
1 n# N6 V2 [/ {5 `* l Office online还没有面市,而LibreOffice很糟糕。因此,我的解决方案是安装Ubuntu和Windows 10双系统。从苹果系统切换到Ubuntu非常自由,而且选择构建个人PC几乎没有界限。
( b% O6 V1 `) K2 e  N7 Y. ^" r/ G 在无数次系统切换之后,WSL出现了。笔者开始将工作流程的一部分移到Windows,但还是有很多功能缺失。然而,WSL 2似乎改变了游戏规则。本文将为你展示这些奇妙的改变。
1 M/ ]! [9 s8 k3 H
1 e- i5 G; B7 F  d$ r: O' v
什么是WSL 26 P4 _. _8 u  n3 L2 S8 h! @0 F4 u
WSL2是WSL中体系结构的新版本,它更改了 Linux 与 Windows 进行交互的方式。2 W4 E7 t. M" n( F
微信图片_20200828205809.png
) Y; c5 Y7 J9 R7 S
该版本提高了文件系统性能,并增加了完全的系统调用兼容性。当然,Linux 分发版可以作为 WSL 1 或 WSL 2 运行,你可以自行选择,并且可以随时在它们之间进行切换。7 c$ j2 N( ^8 e! _* p+ d/ _
WSL 2 是对基础体系结构的一次重大改造,它使用虚拟化技术和 Linux 内核来实现其新功能。微软处理了琐碎的细节,这样你就可以专注于重要的事情了。
' B# h0 u+ }7 J( L! r* X3 L8 {
. }3 E" E5 ]1 t# W1 @$ ^, u
7 \5 ]1 J* F4 i6 r9 `. [) P0 F
安装: w8 q. ?) f; n9 Z* F6 `0 x, q& r$ \
微软承诺将在不久的将来会为WSL 2提供流畅的安装体验,并且能够通过Windows更新来更新Linux内核。但目前的安装过程有点复杂,但也不必忧虑。
; e8 |2 W+ T- ^) ~6 K" r 示例中将在Windows 10上安装Ubuntu20.04,但对于微软商店中的任何分发版来说,安装过程都是一样的。首先,启用“适用于 Linux 的 Windows 子系统”可选功能。以管理员身份打开PowerShell并运行:
  • dism.exe /online /enable-feature/featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    4 T& b3 u( T* M0 k2 j7 m) s0 o
接下来,将系统更新到WSL 2,必须满足以下条件:Windows 10已更新到版本2004;在BIOS设置中启用Intel的“虚拟机平台”。然后,以管理员身份启动PowerShell并运行:
  • dism.exe /online /enable-feature/featurename:VirtualMachinePlatform /all /norestart
    - I6 _% e$ X4 G5 U! F) d1 G
接着重新启动计算机,以完成 WSL 安装并更新到 WSL 2。然后,在安装新发行版时,将WSL 2设置为默认版本。以管理员身份打开PowerShell 并运行以下命令,以将 WSL 2 设置为默认版本:
  • wsl --set-default-version 2
    4 l" @* S; `  |  ?0 a- ]& n" g
运行该命令后可能会看到以下命令:. o& e/ r1 @8 v* u* D/ W/ m& c
按照链接从该页安装MSI,在计算机上安装一个Linux内核,供WSL 2使用。安装内核后,再次运行该命令,该命令应成功完成。 微信图片_20200828205813.png
# ]- F2 z: P' w; [$ x9 @1 y8 T+ [
最后,安装所选Linux分发版。打开微软商店,搜索Ubuntu 20.04LTS。安装完成后,在开始菜单上找到一个新的Ubuntu应用,启动并按照说明完成安装。
9 Z3 T! Y/ t& X 检查所选Linux分发版是否设置为WSL 2,请运行wsl --list –verbose。若所选Linux分发版受WSL 1支持,请运行wsl --set-version<distribution name> <versionNumber>。- @+ o, p, F$ m7 B) u3 m
完成啦!这样就可以有一个完整的Ubuntu分发版在Windows 10中运行。  a' h3 V5 ^& b0 I$ P& x
5 J7 J/ C! w$ O5 E/ B) k9 U
开发人员工作站 4 K( ^4 C' ?; s3 {) B/ s
Ubuntu已经准备好,现在可以安装任何所需程序了。如果你是数据科学家,则可以安装最新的Anaconda发行版;如果你是前端工程师,则可以安装angular和npm等。
, E0 h7 @( z7 K 微信图片_20200828205816.jpg 图源:unsplash2 d) Q7 H* m+ @; w: F$ `  d
有两个工具笔者想重点讲一下:Visual Studio Code和Docker + Kubernetes。
4 V+ U- T' O  c# Y* C1 q: j8 x! h
" E1 g+ w8 i1 Z& _* z& w9 {

  c8 v, V3 E* x+ [5 l9 p9 M VisualStudio Code+ ~! s# e2 I3 d6 Y& S; F
Visual Studio Code是许多开发人员选择的集成开发环境(IDE),现在已启用WSL 2,VS Code的远程开发扩展包(Remote Development)绝对必不可少。
# F/ T: u& z9 C; g4 _9 l 此插件支持WSL 2、容器映像甚至通过SSH的远程VM上的源代码进行远程开发。因此,现在可以在受WSL 2支持的Linux分发版中创建项目文件夹,并使用安装在Windows 10上的Visual Studio Code编辑器作为IDE。
" ]6 O% I/ a* A8 X, i它的功能包括:全语言支持IntelliSense,git集成, Visual Studio Code扩展,调试器和终端。 3 b& M! ?5 Y" z6 S' Y5 h0 F% p

5 x! X3 m- O$ w/ n* C: e9 Q$ G2 d' a; k

# a. ^0 J! m  L/ rDocker +Kubernetes
( B# d# _* p# }7 s Docker for Windows很出色,但它缺少一样笔者最想要的东西,因此每当需要为代码构建docker映像时,我就得在Windows和Ubuntu之间切换。但WSL 2完全支持docker,这甚至比纯粹的Linux体验更好。
6 U: w. g/ @% [/ }0 A% D若要启动,请点击Docker Desktop设置,勾选启用基于WSL 2的引擎复选框 Use the WSL 2 basedengine 。 微信图片_20200828205819.png
* j$ q) k7 G  D- Y6 G1 z启动Dockerfor WSL 2 0 w: O9 ^5 E# N, v4 V2 k
此外,可以通过点击设置中的Kubernetes按钮,勾选Restart Kubernetes Cluster复选框,来运行本地Kubernetes集群。$ P1 H" K4 H+ }! G( P. ^7 t9 x
微信图片_20200828205823.png 启用Kuberneteson WSL 2
$ R7 i  k  j9 \( [! ]! {% f现在,可以在切换回WSL 2中的Ubuntu,运行docker version或kubectl version ,并确认这两个版本已经启动并运行。 微信图片_20200828205826.png Docker和Kubernetes在WSL 2中运行
. {" e1 N# R# Q) Q! |8 v福利:The new Windows Terminal
5 X5 w8 g* s8 a
应用商店将新的Windows Terminal定义为一个现代化、快速、高效、强大、高产的终端工具,供命令行工具和shell(如命令提示符,PowerShell和WSL)的用户使用,主要功能包括多Tab支持、窗格、Unicode和UTF-8字符支持、基于 GPU 运算的文本渲染引擎,以及自定义主题、样式和配置。
6 j8 x5 i$ `4 U. c 此外,它非常美观,可以通过它的可访问设置(仅仅是一个JSON文件)随心所欲地设置样式。) D2 Z  u9 d/ o- w

+ L9 S! X! b7 @, @
产品路线图
$ j7 z% U& E6 W! G% V 微信图片_20200828205830.jpg 图源:unsplash
: ?& E- ~$ i7 _3 j
3 ?8 `. K! M4 M
现在仍然缺少一些功能,但WSL 2运行已经畅通无阻了。在接下来的几个月里,我们还可以用一个命令安装WSL。打开一个Windows Terminal并输入 wsl.exe --install。此外,在首次进行安装时,WSL 2 将成为默认版本。
1 z7 J+ _" s- V9 f: H* @开发者最期待的功能有两个:GPU支持和GUI应用支持。自从WSL 1发布以来,向 WSL 添加 CUDA 和/或 GPU Compute 支持一直占据很高的呼声。过去几年中,WSL、Virtualization、DirectX、Windows Driver 团队,以及他们的芯片合作伙伴一直在致力于提供此功能。
7 g2 c9 N" H8 R. B9 U  L
微信图片_20200828205834.gif 在WSL 2上训练深度学习模型(启用CUDA)
0 H- q) r, g' W( { 此外,Linux还将支持GUI应用程序。例如,可以在已安装的Linux环境中运行首选的Linux GUI文本编辑器或IDE,甚至可以在Windows机器上开发Linux GUI应用程序!/ f7 }% B% R" z) ^
微信图片_20200828205837.png WSL2支持Linux GUI   p5 A' |7 ]- k. |+ w- X
WSL 2完全有能力将Windows PC变成运行Linux分发版的开发人员工作站,它速度在线,功能在线,未来还有更多值得探索的东西。双系统的日子就要结束了,更极致的体验依然到来。* a) L& D4 a; l) L; q1 ?. N2 D

( j! D) b) C# @- u) m
收藏 评论0 发布时间:2020-8-28 21:01

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版