很長一段時間以來,雙系統是我唯一的解決方案。
我一直在用的是一臺蘋果筆記本,它幾乎可以做任何事:開發、寫提案、創作音樂等。但它也不是十全十美的,我很害怕供應商被鎖定,也擔心自己過于依賴蘋果的奇思妙想,因此我也在尋求新的解決方案。
筆者著手搭建了一個機器學習工作站;出色的CPU、大量的RAM和性能極佳的GPU等等。除了要用Microsoft Office寫提案,我選擇用的操作系統幾乎都是Ubuntu。
Office online還沒有面市,而LibreOffice很糟糕。因此,我的解決方案是安裝Ubuntu和Windows 10雙系統。從蘋果系統切換到Ubuntu非常自由,而且選擇構建個人PC幾乎沒有界限。
在無數次系統切換之后,WSL出現了。筆者開始將工作流程的一部分移到Windows,但還是有很多功能缺失。然而,WSL 2似乎改變了游戲規則。本文將為你展示這些奇妙的改變。
什么是WSL 2
WSL 2是WSL中體系結構的新版本,它更改了 Linux 與 Windows 進行交互的方式。
該版本提高了文件系統性能,增加了完全的系統調用兼容性。當然,Linux 分發版可以作為 WSL 1或 WSL 2運行,你可以自行選擇,并且可以隨時在它們之間進行切換。
WSL 2 是對基礎體系結構的一次重大改造,它使用虛擬化技術和 Linux 內核來實現其新功能。微軟處理了瑣碎的細節,這樣你就可以專注于重要的事情了。
安裝
微軟承諾將在不久的將來會為WSL 2提供流暢的安裝體驗,并且能夠通過Windows更新來更新Linux內核。但目前的安裝過程有點復雜,但也不必太過憂慮。
示例中將在Windows 10上安裝Ubuntu20.04,但其實對于微軟商店中的任何分發版來說,安裝過程都是一樣的。首先,啟用“適用于 Linux 的 Windows 子系統”可選功能。以管理員身份打開PowerShell并運行:
dism.exe /online /enable-feature/featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
接下來,將系統更新到WSL 2,必須滿足以下條件:Windows 10已更新到版本2004;在BIOS設置中啟用Intel的“虛擬機平臺”。然后,以管理員身份啟動PowerShell并運行:
dism.exe /online /enable-feature/featurename:VirtualMachinePlatform /all /norestart
接著重新啟動計算機,以完成 WSL安裝并更新到 WSL 2。然后,在安裝新發行版時,將WSL 2設置為默認版本。以管理員身份打開PowerShell 并運行以下命令,以將 WSL 2設置為默認版本:
wsl --set-default-version 2
運行該命令后可能會看到以下命令:
WSL 2 requires anupdate to its kernel component. For information please visithttps://aka.ms/wsl2kernel.
按照鏈接從該頁安裝,在計算機上安裝一個Linux內核,供WSL 2使用。安裝內核后,再次運行該命令,該命令成功完成。
最后,安裝所選Linux分發版。打開微軟商店,搜索Ubuntu 20.04LTS。安裝完成后,在開始菜單上找到一個新的Ubuntu應用,啟動并按照說明完成安裝。
檢查所選Linux分發版是否設置為WSL 2,請運行wsl --list –verbose。若所選Linux分發版受WSL 1支持,請運行wsl --set-version《distribution name》 《versionNumber》。
完成啦!這樣就可以有一個完整的Ubuntu分發版在Windows 10中運行了。
開發人員工作站
Ubuntu已經準備好,現在你可以安裝任何所需程序了。如果你是數據科學家,可以安裝最新的Anaconda發行版;如果你是前端工程師,則可以安裝angular和npm等。
有兩個工具筆者想重點講一下:Visual Studio Code和Docker + Kubernetes。
VisualStudio Code
Visual Studio Code是許多開發人員選擇的集成開發環境(IDE),現在已啟用WSL 2,VS Code的遠程開發擴展包(Remote Development)絕對必不可少。
此插件支持WSL 2、容器映像甚至通過SSH的遠程VM上的源代碼進行遠程開發。因此,現在可以在受WSL 2支持的Linux分發版中創建項目文件夾,并使用安裝在Windows 10上的Visual Studio Code編輯器作為IDE。
它的功能包括:全語言支持IntelliSense,git集成, Visual Studio Code擴展,調試器和終端。
Docker +Kubernetes
Docker for Windows很出色,但它缺少一樣筆者最想要的東西,因此每當需要為代碼構建docker映像時,我就得在Windows和Ubuntu之間切換。但WSL 2完全支持docker,這甚至比純粹的Linux體驗更好。
若要啟動,請點擊Docker Desktop設置,勾選啟用基于WSL 2的引擎復選框 Use the WSL 2 basedengine 。
此外,可以通過點擊設置中的Kubernetes按鈕,勾選Restart Kubernetes Cluster復選框,來運行本地Kubernetes集群。
現在,可以切換回WSL 2中的Ubuntu,運行docker version或kubectl version ,并確認這兩個版本已經啟動并運行。
福利:The new Windows Terminal
應用商店將新的Windows Terminal定義為一個現代化、快速、高效、強大、高產的終端工具,供命令行工具和shell(如命令提示符,PowerShell和WSL)的用戶使用,主要功能包括多Tab支持、窗格、Unicode和UTF-8字符支持、基于 GPU 運算的文本渲染引擎,以及自定義主題、樣式和配置。
此外,它非常美觀,可以通過它的可訪問設置(僅僅是一個JSON文件)隨心所欲地設置樣式。
產品路線圖
雖然現在仍然缺少一些功能,但WSL 2運行已經暢通無阻了。在接下來的幾個月里,我們還可以用一個命令安裝WSL。打開一個Windows Terminal并輸入 wsl.exe --install。此外,在首次進行安裝時,WSL 2將成為默認版本。
開發者最期待的功能有兩個:GPU支持和GUI應用支持。自從WSL 1發布以來,向 WSL 添加 CUDA 和/或 GPU Compute 支持一直占據很高的呼聲。過去幾年中,WSL、Virtualization、DirectX、Windows Driver 團隊,以及他們的芯片合作伙伴一直在致力于提供此功能。
此外,Linux還將支持GUI應用程序。例如,可以在已安裝的Linux環境中運行首選的Linux GUI文本編輯器或IDE,甚至可以在Windows機器上開發Linux GUI應用程序!
WSL 2完全有能力將Windows PC變成運行Linux分發版的開發人員工作站,它速度在線,功能在線,未來還有更多值得探索的東西。雙系統的日子就要結束了,更極致的體驗已然到來。
-
Linux
+關注
關注
87文章
11320瀏覽量
209834 -
WINDOWS
+關注
關注
4文章
3551瀏覽量
88873 -
機器學習
+關注
關注
66文章
8424瀏覽量
132766
發布評論請先 登錄
相關推薦
評論