您的位置: 首頁 >互聯(lián)網(wǎng) >

用于Linux的Windows子系統(tǒng)正在向開發(fā)人員進軍

2022-06-11 13:22:40 編輯:歐楓眉 來源:
導讀 上周,微軟和佳能(UbuntuLinux發(fā)行版背后的公司)計劃在微軟的Red mond校園舉辦一次開發(fā)人員會議,重點討論Linux的Windows子系統(tǒng)。 阿爾斯

上周,微軟和佳能(UbuntuLinux發(fā)行版背后的公司)計劃在微軟的Red mond校園舉辦一次開發(fā)人員會議,重點討論Linux的Windows子系統(tǒng)。 阿爾斯被邀請了,我手頭有機票-但由于冠狀病毒,物理會議在最后一分鐘被取消了。

請注意,我確實說物理會議被取消了-WSLconf本身繼續(xù)進行,有22名發(fā)言者和21次會談。 據(jù)報道,虛擬參會者是實際參會者注冊人數(shù)的兩倍多,包括來自世界各地的開發(fā)者。 在Bluejeans視頻會議平臺上作了專題介紹,Canonical的開發(fā)者律師Hayden Barnes說,錄制的會議將很快普遍提供。

大多數(shù)Ars讀者已經(jīng)知道,有一個Linux的Windows子系統(tǒng)可用,它確實.Linux的東西。 但更不清楚的是如何實際安裝它或為什么你想安裝它。

安裝部分簡單自由,雖然需要兩個獨立的步驟.. 首先,您需要安裝WSL作為Windows功能,使用功能應用程序,可以直接從開始菜單訪問。 這需要一個相對快速的下載,然后立即重新啟動。

一旦安裝了WSL功能,下一步就是在它下面安裝一個實際的Linux發(fā)行版。 有許多選擇-包括卡利,德比安,開放SUSE,阿爾卑斯山,和兩個長期支持(L TS)版本的Ubuntu。 我們選擇了最新的UbuntuLTS;搜索商店的Ubuntu使它正確,一次點擊(后面是幾百兆字節(jié)的下載)安裝它。

一旦Ubuntu18.04的下載和安裝完成,Ubuntu18.04LT S會顯示為“開始”菜單中的應用程序。 單擊它會彈出一個控制臺窗口,任何Linux用戶都應該立即熟悉它-它是一個bash提示符,里面看起來非常像任何其他Ubuntu安裝。

當前版本的WSL是一組API調(diào)用,分為一個兼容性層,它將(大多數(shù))Linux內(nèi)核調(diào)用映射到NT內(nèi)核調(diào)用,以及一組大部分完整的userland實用程序。 在引擎蓋下面,你看到的是一個完整的Ubuntu虛擬機,運行在Hyper-V下。 基本上,這就是“反向WINE”——在您作為WINE用戶的Linux類型中,所有的利弊都將立即熟悉。

另一方面,下一個版本的WSL將本質(zhì)上是一個完整的超V虛擬機。 WSL2現(xiàn)在可以在Insider構建中使用,并且通??梢栽赪indows10版本2004中使用。 (視窗10焦點Fossa,有人嗎?)

WSL2和標準超VVM之間的主要區(qū)別在于集成。 沒有客人驅(qū)動程序要安裝,C:驅(qū)動器(連同任何其他窗口驅(qū)動字母)已經(jīng)為您安裝讀寫,在/mnt/c下。 您可以輕松和無縫地閱讀和寫入文件跨越操作系統(tǒng)障礙,而不需要太多地考慮它。

WSL2系統(tǒng)也將更快地按需使用,而不是您可以期望一個標準的VM啟動-微軟表示,在冷啟動后第一次單擊WSL2圖標和獲得完全響應的Bash提示之間,預計將不到兩秒鐘。

老實說,這里-如果你不是一個開發(fā)人員,一個Linux用戶,或者某個已經(jīng)對Linux很好奇的人.你可能不知道。 如果你是一個Linux用戶-或者Linux-好奇-WSL是一個很好的方法,讓你的腳濕和實驗自由,而不需要雙啟動。 這在很大程度上取代了古老的工作方法,如古老的Cygwin,它提供了部分類似Linux的用戶域環(huán)境,仍然運行在Windows本身下面。

雖然可以在WSL下運行一些GUI(圖形用戶界面)應用程序,使用一個額外的X服務器,如MobaXTerm,這真的不是WSL當前的重點-至少,這不是WSLconf上的人們最感興趣的。 大多數(shù)開發(fā)人員感到興奮的是WSL下跨平臺開發(fā)的便利性。

為了演示,我們使用Nim構建了一個簡單的HelloWorld風格的程序.. Nim是一種較高級的語言,可以方便地編譯成標準的C代碼;然后通過GCC編譯器運行C代碼以生成可執(zhí)行二進制代碼。

我們確實想清楚,Nim絕不是在WSL下構建跨平臺代碼的唯一方法。 我們只是把它作為一種干凈、快速、簡單的方法來制作一個HelloWorld風格的應用程序,而不需要大量的cruft來阻止看到正在發(fā)生的事情。

編譯此Nim代碼會生成一個可執(zhí)行文件,該可執(zhí)行文件接受給它的第一個參數(shù),并使用它來問候用戶:

通過傳遞nim編譯幾個額外的參數(shù),您可以-盡管仍然在Linux環(huán)境中-而不是構建一個Windows可執(zhí)行文件,將生成的hello.exeout復制到您的C:驅(qū)動器中,然后從Windows本身運行它。

顯然,這是一個非常微不足道的例子-但不難找到更廣泛和強大的例子,相同的基本技術正在使用在更大的環(huán)境中。

使用WSL和Visual Studio可以使公司快速地將Windows本地開發(fā)應用到Linux構建環(huán)境中,并大大簡化了他們的工具鏈。 EA使用Visual Studio和WSL來構建和調(diào)試其凍傷引擎就是一個很好的例子:

在EA,我們的Frostbite引擎有一個Linux組件,用于我們的專用服務器,為我們最受歡迎的游戲提供服務。 當我們看到微軟在Visual Studio的工作負載中為Linux添加支持時,這引起了我的興趣!

在EA,我們的游戲開發(fā)人員習慣于Windows環(huán)境的開發(fā),所以我們認為迫使他們直接在Linux環(huán)境中開發(fā)將是一個困難的問題[.]在Visual StudioLinux工作負載發(fā)布后,我們發(fā)現(xiàn)Micros of t基本上把所有的工具/過程都很好地打包成Visual Studio工作負載,我們可以要求開發(fā)人員安裝并能夠直接在Visual Studio中調(diào)試!

到目前為止,與WSL的集成和工作負載的遠程調(diào)試已經(jīng)取得了成功,并大大清理了我們圍繞Linux調(diào)試/開發(fā)的工具/過程。 我們的開發(fā)人員對改進的經(jīng)驗非常滿意。

EA和Frostbite遠不是受益于微軟最近但顯然是嚴重的承諾深度Linux集成和支持的大型項目的唯一例子。 過去幾年Linux游戲的復興主要是由于Unity引擎對Linux的支持,但許多人可能沒有意識到,該引擎的Linux支持來自于構建。 NET,它本身就是一個完全跨平臺的開發(fā)環(huán)境。

在WSL上進行的實際會談包括側(cè)重于Infosec、Devops自動化、Kubernetes等主題。 我們期待著它們變得普遍可用,并將在這里更新鏈接,一旦他們這樣做。

本文自發(fā)布以來已被糾正,以修復當前的Windows子系統(tǒng)的錯誤標識,通常可用版本的Linux為WSL2。


免責聲明:本文由用戶上傳,如有侵權請聯(lián)系刪除!

精彩推薦

圖文推薦

點擊排行

2016-2022 All Rights Reserved.平安財經(jīng)網(wǎng).復制必究 聯(lián)系QQ280 715 8082   備案號:閩ICP備19027007號-6

本站除標明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權歸原作者所有。