WSL2詳解:Windows親生的Linux子系統(tǒng)
在上一篇文章中,我們主要聊了一下:在 Windows 系統(tǒng)中,安裝 WSL 子系統(tǒng)。
文章在此:WSL:在 Windows 系統(tǒng)中開發(fā) Linux 程序的又一神器
但是 WSL 只是長得像 Linux 而已,雖然在這個子系統(tǒng)中,我們可以執(zhí)行 Linux 程序,但是到了底層,WSL 調(diào)用的還是 win32 API。
也就是說:WSL 只是一個適配層。
后來,微軟終于放出了 WSL2 這個真正的 Linux 子系統(tǒng),這是一個真正的 Linux 完整內(nèi)核,與傳統(tǒng)的虛擬機 VitualBox、VMWare 一樣,但是它與宿主機的互操作性更好。
為了完整性,我們就繼續(xù)把這個流程給走完。
在這個過程中遇到的問題、需要的安裝軟件等資源,已經(jīng)上傳到網(wǎng)盤,在文末有下載地址。
安裝 WSL2 的前提條件
在開始之前,我們先來看一下目前電腦中的 WSL 的版本。
在 Windows 命令行窗口,輸入指令: wsl --list --verbose(或者輸入簡化版本: wsl -l -v),得到結(jié)果:
可以看到我們上一篇文章中安裝的 Ubuntu-18.04,而且 WSL 的版本是 1。
如果要升級到 WSL2,Windows 操作系統(tǒng)的內(nèi)核版本必須滿足一定的要求,如下:
我們就按照官方的要求,檢查一下自己的電腦是否滿足需求:選擇 Windows 徽標鍵 Win + R,然后鍵入 winver,選擇 “確定”。
看來我的系統(tǒng)能滿足要求,那就繼續(xù)下一個步驟!
如果你的內(nèi)核版本不滿足這個需求,可以搜索關(guān)鍵字 “WIN10 獲取內(nèi)部預覽版本”,就可以找到解決方案。
安裝 WSL2
繼續(xù)以管理員身份啟動 PowerShell,然后執(zhí)行指令:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
此時,又到了重啟電腦的時候!
重啟之后,繼續(xù)在 PowserShell 中,把 Ubuntu-18.04 設(shè)置為 WSL2 版本。
輸入的指令是:
wsl --set-version Ubuntu-18.04 2
這個步驟可能會遇到這樣的問題:
解決方法:從微軟的官網(wǎng)下載 WSL2 Linux 內(nèi)核升級包,下載地址是:
WSL2 Linux 內(nèi)核升級包
也可以從文末的網(wǎng)盤中下載
下載之后,一路 Next 安裝即可。
此時,在 PowerShell 中重新執(zhí)行 wsl --set-version Ubuntu-18.04 2 指令(需要等待一段時間,大概 1 分鐘左右吧):
同時,把 WSL 的默認版本改為 2:wsl --set-default version 2。
此時,我們再執(zhí)行指令 wsl -l -v 來查看一下,就變成 WSL2 版本了:
現(xiàn)在,重新啟動一下 Ubuntu-18.04 系統(tǒng),雖然還是黑乎乎的窗口,但是它可是一個完整、純正的 Linux 操作系統(tǒng)!
安裝桌面環(huán)境
關(guān)于 Linux 的桌面環(huán)境,它與 Windows 桌面環(huán)境的理念有一些不一樣。
在 Linux 系統(tǒng)中,桌面環(huán)境是一個獨立的應用程序,不屬于操作系統(tǒng)的一部分。
換句換說,即使沒有桌面環(huán)境,也可以很愉快的玩 Linux 系統(tǒng),比如那些服務器之類的設(shè)備。
Linux 中的桌面由客戶端和服務端組成,它們之間通過一個協(xié)議來通信,俗稱:X11。
服務端:負責圖形的顯示;
客戶端:根據(jù)系統(tǒng)設(shè)置的 DISPLAY 環(huán)境變量,把顯示圖形的請求發(fā)送給服務端;
因此,為了讓我們的 Ubuntu 顯示圖形界面,我們就需要安裝一個服務端軟件和客戶端軟件。
注意:這里的服務端軟件是安裝在 Windows 系統(tǒng)中的,客戶端是安裝在 Ubuntu-18.04 系統(tǒng)中的。
安裝客戶端
在 Ubuntu-18.04 的終端窗口中,執(zhí)行如下指令安裝客戶端軟件 xfce4:
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install xfce4
配置 DISPLAY 環(huán)境變量
因為 Ubuntu 中的客戶端 xfce4 需要把顯示請求,通過網(wǎng)絡發(fā)送給 Windows 上的服務端,因此需要知道 Windows 系統(tǒng)的 IP 地址,在 Windows 系統(tǒng)中的命令行窗口中查看:ipconfig
然后在 Ubuntu-18.04 中把這個 IP 地址,配置到家目錄下的 .bashrc 文件中:
$ cd
$ vi .bashrc
在文件末尾添加:
export DISPLAY=192.168.192.1:0
保存、關(guān)閉文件之后,執(zhí)行:source ~/.bashrc 更新即可。
安裝服務端
圖形界面有 VcXsrv 和 Xming 兩款軟件,我們選擇前面的 VcXsrv。
同樣的,我已經(jīng)把 vcxsrv-64.1.20.9.0.installer.exe 放在網(wǎng)盤里,下載后一路 Next 安裝。
安裝之后,啟動 Windows 桌面上的 XLaunch 程序:
然后,按照參考文檔中的配置,如下:
在最后一個步驟,可以把配置信息保存在桌面上。
啟動客戶端
在 Ubuntu-18.04 系統(tǒng)中的命令行窗口,執(zhí)行指令:startxfce4:
此刻,神器的事情就發(fā)生了:你的 Windows 系統(tǒng)中是不是就跳出了下面這個窗口:
可以打開桌面上 File System,是不是看到了很多熟悉的身影?
在打開 mnt 目錄,是不是看到了 Windows 系統(tǒng)中的盤符?
但是,中文信息顯示的都是亂碼!那我們就來安裝中文語言支持包。
中文支持
在 Ubuntu-18.04 系統(tǒng)命令行窗口,設(shè)置 locale:
此時,我們可以使用桌面環(huán)境中的終端窗口,如下圖所示:
sudo vi /etc/locale.gen
把下圖中的藍色這一行復制,然后去掉前面的 # 和 空格,然后保存、退出。
然后在終端中執(zhí)行指令:sudo locale-gen
單機右上角的用戶名,選擇 【Log Out..】
此時,Ubuntu 虛擬機的 WSL 窗口中的 xfce4 客戶端會退出,再次執(zhí)行 startxfce4 啟動客戶端:
再次,在桌面中的終端窗口中,把 locale 改為中文:
sudo vi /etc/default/locale
把 LANG=C.UTF-8 改為 LANG=zh_CN.UTF-8
然后,把下面這個幾個中文語言包給它安裝進去:
sudo apt install language-pack-zh-hans
sudo apt install language-pack-gnome-zh-hans
sudo apt install language-pack-kde-zh-hans
此刻,你再看一下剛才的那些亂碼,是不是已經(jīng)正確顯示中文了?

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀”爆發(fā)至今,五類新物種登上歷史舞臺
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機器人東風翻身?