訂閱
糾錯
加入自媒體

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)的虛擬機(jī) VitualBox、VMWare 一樣,但是它與宿主機(jī)的互操作性更好。

為了完整性,我們就繼續(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 徽標(biāo)鍵 Win + R,然后鍵入 winver,選擇 “確定”。

看來我的系統(tǒng)能滿足要求,那就繼續(xù)下一個步驟!

如果你的內(nèi)核版本不滿足這個需求,可以搜索關(guān)鍵字 “WIN10 獲取內(nèi)部預(yù)覽版本”,就可以找到解決方案。

安裝 WSL2

繼續(xù)以管理員身份啟動 PowerShell,然后執(zhí)行指令:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

此時(shí),又到了重啟電腦的時(shí)候!

重啟之后,繼續(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 安裝即可。

此時(shí),在 PowerShell 中重新執(zhí)行 wsl --set-version Ubuntu-18.04 2 指令(需要等待一段時(shí)間,大概 1 分鐘左右吧):

同時(shí),把 WSL 的默認(rèn)版本改為 2:wsl --set-default version 2。

此時(shí),我們再執(zhí)行指令 wsl -l -v 來查看一下,就變成 WSL2 版本了:

現(xiàn)在,重新啟動一下 Ubuntu-18.04 系統(tǒng),雖然還是黑乎乎的窗口,但是它可是一個完整、純正的 Linux 操作系統(tǒng)!

安裝桌面環(huán)境

image.png

關(guān)于 Linux 的桌面環(huán)境,它與 Windows 桌面環(huán)境的理念有一些不一樣。

在 Linux 系統(tǒng)中,桌面環(huán)境是一個獨(dú)立的應(yīng)用程序,不屬于操作系統(tǒng)的一部分。

換句換說,即使沒有桌面環(huán)境,也可以很愉快的玩 Linux 系統(tǒng),比如那些服務(wù)器之類的設(shè)備。

Linux 中的桌面由客戶端和服務(wù)端組成,它們之間通過一個協(xié)議來通信,俗稱:X11。

服務(wù)端:負(fù)責(zé)圖形的顯示;

客戶端:根據(jù)系統(tǒng)設(shè)置的 DISPLAY 環(huán)境變量,把顯示圖形的請求發(fā)送給服務(wù)端;

因此,為了讓我們的 Ubuntu 顯示圖形界面,我們就需要安裝一個服務(wù)端軟件和客戶端軟件。

注意:這里的服務(wù)端軟件是安裝在 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)境變量

因?yàn)?Ubuntu 中的客戶端 xfce4 需要把顯示請求,通過網(wǎng)絡(luò)發(fā)送給 Windows 上的服務(wù)端,因此需要知道 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 更新即可。

安裝服務(wù)端

圖形界面有 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:

此時(shí),我們可以使用桌面環(huán)境中的終端窗口,如下圖所示:

sudo vi /etc/locale.gen

把下圖中的藍(lán)色這一行復(fù)制,然后去掉前面的 # 和 空格,然后保存、退出。

然后在終端中執(zhí)行指令:sudo locale-gen

單機(jī)右上角的用戶名,選擇 【Log Out..】

此時(shí),Ubuntu 虛擬機(jī)的 WSL 窗口中的 xfce4 客戶端會退出,再次執(zhí)行 startxfce4 啟動客戶端:

再次,在桌面中的終端窗口中,把 locale 改為中文:

sudo vi /etc/default/locale

把 LANG=C.UTF-8 改為 LANG=zh_CN.UTF-8

然后,把下面這個幾個中文語言包給它安裝進(jìn)去:

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)正確顯示中文了?

聲明: 本文由入駐維科號的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報(bào)。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標(biāo)題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號