感覺是時候學習下.net core了,雖然其根據.net4.x的重寫工作還有很大一截沒有完成。為了讓.net跨平臺ms這次也是拼了(早幹嘛去了?);所謂的跨平臺,聽起來很6b,主要也就兩個平臺,Windows是.net誕生的老家,Linux是其接下來要適應的新環境。 之前嘗試使用hyper-v安裝的 ...
感覺是時候學習下.net core了,雖然其根據.net4.x的重寫工作還有很大一截沒有完成。為了讓.net跨平臺ms這次也是拼了(早幹嘛去了?);所謂的跨平臺,聽起來很6b,主要也就兩個平臺,Windows是.net誕生的老家,Linux是其接下來要適應的新環境。
之前嘗試使用hyper-v安裝的ubuntu,比較卡(筆記本AUSU i7-4710HQ 12GB RAM,分配4Processors 4GB RAM),視窗解析度不能調,高DPI縮放下非常彆扭……估計ms也沒打算優化hyper-v的桌面體驗;還有就是設置將網路共用給添加的虛擬網路交換機讓虛擬機連上網之後竟然無法直接使用外面的藍燈翻 牆代理,不知道這是什麼一個原理(誰能科普下)。忽然想起去年ms曾表示會在win10中加入linux子系統,遂查找之,果真還有。
限制
Windows10專業版以上有該功能;要啟用Bash on Windows,首先需要電腦CPU支持虛擬化技術,可在任務管理器-性能選項卡中判斷:
啟用
1.啟用開發者模式:在開始-設置-更新-開發者 中:
2.在 控制面板-程式和功能-添加/關閉windows功能中,開啟Windows Subsystem for Linux (目前還是個Beta版);
之後會要求重啟。
安裝
這是最坑的一步。
重啟之後,先將系統區域設置美國,打開cmd或著powershell,輸入 lxrun /install /y 命令啟動線上安裝,期間會要求輸入用戶名密碼(已安裝無法截圖),下載非常非常慢(100兆光纖下,區域設置為美國速度有明顯提升,但依舊很慢);如果只是提示伺服器連接失敗,有兩種選擇:1是開代理(經測試本人所在公司網路需要藍燈),2是參照 這裡(https://www.varunagw.com/how-install-windows-subsystem-linux-bashonwindows-offline-windows/) 設置離線安裝(未測試)。
//昨晚的 Build 2017 介紹windows rs3更新後可以直接在商店中下載3個不同版本的Linux,應該可以拜托這種方式了。
使用
安裝完成之後(希望大家都能安裝成功),開始菜單中會有一個名為"Bash on Ubuntu on Windows"的快捷方式,指向系統文件夾中的bash.exe;打開這個bash,發現是一個命令行,嘗試在其中敲一些Linux命令:
上面使用 cat /proc/version 查看了剛安裝的Linux內核版本為4.4.0,再通過 lsb_release -a 得到發行版本為 代號xenial的Ubuntu 16.04.2 LTS,算是一個比較大眾的版本
bash預設打開的終端視窗支持複製粘貼,建議通過在PowerShell輸入 bash 的方式打開(註意兩種方式打開時的預設路徑不一樣)。
嘗試安裝使用應用screenfetch(為了看 logo,^_^,我的最終目的當然還是安裝dotnet core相關環境):
安裝包下載的時候難免失敗(幾乎沒有一次性過的安裝,感慨天朝的網路),需要多試幾次;通過su passwd拿到root許可權會方便很多。
使用體驗還是比較滿意,比使用Hyper-v好太多
繼續探索
- 通過ifconfig、ping、curl等命令發現該子系統直接享用外部主系統網路配置,其他共用特性以及暫時不在我的研究範圍之內。
- 子系統系統預設安裝在 Uses\用戶名\AppData\Local\lxss 下,暫時沒有命令參數可以改變安裝路徑;不過我想應該可以通過 移動用戶文件夾 的方式間接改變其安裝盤符(系統盤滿了的時候試試,有試過的請告知下結果)。
- 子系統預設掛載了主系統所有盤符( lxss/mnt,可讀寫);可創建僅字母大小寫不同的文件(夾),windows 資源管理器中也能查看,但預設只能打開大寫的那個,刪除的時候要註意。
- 其他後面繼續補充……
關於GUI桌面(不推薦)
這個子系統預設不包含桌面環境,一是因為沒必要還占資源,二是這種子系統的限制。要體驗Linux桌面建議還是vm走起;如果非要在這裡使用,需要在外部windows中安裝Xming ,然後bash中運行帶有GUI的應用(如FireFox)命令的時候在前面加上 DISPLAY=:0 (如 DISPLAY=:0 FireFox )就能將GUI顯示在Xming中,以此類推,桌面也是一個GUI應用,只要安裝一套桌面(如 Xfce4)再執行相同命令就可以了;估計這樣會很卡。
Next
接下來可以正式體驗開始.net core了……
https://www.microsoft.com/net/core#linuxubuntu
原文路徑:http://www.cnblogs.com/CameronWu/p/6822008.html