Windows 親生的 Linux 子系統(tǒng)
在上一篇文章中,我們主要聊了一下:在 Windows 系統(tǒng)中,安裝 WSL 子系統(tǒng)。
文章在此:WSL:在 Windows 系統(tǒng)中開(kāi)發(fā) Linux 程序的又一神器
但是 WSL 只是長(zhǎng)得像 Linux 而已,雖然在這個(gè)子系統(tǒng)中,我們可以執(zhí)行 Linux 程序,但是到了底層,WSL 調(diào)用的還是 win32 API。
也就是說(shuō):WSL 只是一個(gè)適配層。
后來(lái),微軟終于放出了 WSL2 這個(gè)真正的 Linux 子系統(tǒng),這是一個(gè)真正的 Linux 完整內(nèi)核,與傳統(tǒng)的虛擬機(jī) VitualBox、VMWare 一樣,但是它與宿主機(jī)的互操作性更好。
為了完整性,我們就繼續(xù)把這個(gè)流程給走完。
在這個(gè)過(guò)程中遇到的問(wèn)題、需要的安裝軟件等資源,已經(jīng)上傳到網(wǎng)盤(pán),在文末有下載地址。
安裝 WSL2 的前提條件
在開(kāi)始之前,我們先來(lái)看一下目前電腦中的 WSL 的版本。
在 Windows 命令行窗口,輸入指令: wsl --list --verbose(或者輸入簡(jiǎn)化版本: wsl -l -v),得到結(jié)果:

可以看到我們上一篇文章中安裝的 Ubuntu-18.04,而且 WSL 的版本是 1。
如果要升級(jí)到 WSL2,Windows 操作系統(tǒng)的內(nèi)核版本必須滿(mǎn)足一定的要求,如下:

我們就按照官方的要求,檢查一下自己的電腦是否滿(mǎn)足需求:選擇 Windows 徽標(biāo)鍵 Win + R,然后鍵入 winver,選擇 “確定”。

看來(lái)我的系統(tǒng)能滿(mǎn)足要求,那就繼續(xù)下一個(gè)步驟!
如果你的內(nèi)核版本不滿(mǎn)足這個(gè)需求,可以搜索關(guān)鍵字 “WIN10 獲取內(nèi)部預(yù)覽版本”,就可以找到解決方案。
安裝 WSL2
繼續(xù)以管理員身份啟動(dòng) 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
這個(gè)步驟可能會(huì)遇到這樣的問(wèn)題:

解決方法:從微軟的官網(wǎng)下載 WSL2 Linux 內(nèi)核升級(jí)包,下載地址是:
WSL2 Linux 內(nèi)核升級(jí)包

也可以從文末的網(wǎng)盤(pán)中下載
下載之后,一路 Next 安裝即可。
此時(shí),在 PowerShell 中重新執(zhí)行 wsl --set-version Ubuntu-18.04 2 指令(需要等待一段時(shí)間,大概 1 分鐘左右吧):

同時(shí),把 WSL 的默認(rèn)版本改為 2:wsl --set-default version 2。
此時(shí),我們?cè)賵?zhí)行指令 wsl -l -v 來(lái)查看一下,就變成 WSL2 版本了:

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

安裝桌面環(huán)境
這部分的操作,參考:https://autoize.com/xfce4-desktop-environment-and-x-server-for-ubuntu-on-wsl-2/。
關(guān)于 Linux 的桌面環(huán)境,它與 Windows 桌面環(huán)境的理念有一些不一樣。
在 Linux 系統(tǒng)中,桌面環(huán)境是一個(gè)獨(dú)立的應(yīng)用程序,不屬于操作系統(tǒng)的一部分。
換句換說(shuō),即使沒(méi)有桌面環(huán)境,也可以很愉快的玩 Linux 系統(tǒng),比如那些服務(wù)器之類(lèi)的設(shè)備。
Linux 中的桌面由客戶(hù)端和服務(wù)端組成,它們之間通過(guò)一個(gè)協(xié)議來(lái)通信,俗稱(chēng):X11。
服務(wù)端:負(fù)責(zé)圖形的顯示;
客戶(hù)端:根據(jù)系統(tǒng)設(shè)置的 DISPLAY 環(huán)境變量,把顯示圖形的請(qǐng)求發(fā)送給服務(wù)端;
因此,為了讓我們的 Ubuntu 顯示圖形界面,我們就需要安裝一個(gè)服務(wù)端軟件和客戶(hù)端軟件。
注意:這里的服務(wù)端軟件是安裝在 Windows 系統(tǒng)中的,客戶(hù)端是安裝在 Ubuntu-18.04 系統(tǒng)中的。
安裝客戶(hù)端
在 Ubuntu-18.04 的終端窗口中,執(zhí)行如下指令安裝客戶(hù)端軟件 xfce4:
- sudo apt-get update && sudo apt-get upgrade -y
- sudo apt-get install xfce4
配置 DISPLAY 環(huán)境變量
因?yàn)?Ubuntu 中的客戶(hù)端 xfce4 需要把顯示請(qǐng)求,通過(guò)網(wǎng)絡(luò)發(fā)送給 Windows 上的服務(wù)端,因此需要知道 Windows 系統(tǒng)的 IP 地址,在 Windows 系統(tǒng)中的命令行窗口中查看:ipconfig
然后在 Ubuntu-18.04 中把這個(gè) 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)盤(pán)里,下載后一路 Next 安裝。
安裝之后,啟動(dòng) Windows 桌面上的 XLaunch 程序:

然后,按照參考文檔中的配置,如下:




在最后一個(gè)步驟,可以把配置信息保存在桌面上。
啟動(dòng)客戶(hù)端
在 Ubuntu-18.04 系統(tǒng)中的命令行窗口,執(zhí)行指令:startxfce4:
此刻,神器的事情就發(fā)生了:你的 Windows 系統(tǒng)中是不是就跳出了下面這個(gè)窗口:
可以打開(kāi)桌面上 File System,是不是看到了很多熟悉的身影?
在打開(kāi) mnt 目錄,是不是看到了 Windows 系統(tǒng)中的盤(pán)符?


但是,中文信息顯示的都是亂碼!那我們就來(lái)安裝中文語(yǔ)言支持包。
中文支持
在 Ubuntu-18.04 系統(tǒng)命令行窗口,設(shè)置 locale:
此時(shí),我們可以使用桌面環(huán)境中的終端窗口,如下圖所示:

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

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

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

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

再次,在桌面中的終端窗口中,把 locale 改為中文:
- sudo vi /etc/default/locale
把 LANG=C.UTF-8 改為 LANG=zh_CN.UTF-8
然后,把下面這個(gè)幾個(gè)中文語(yǔ)言包給它安裝進(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)正確顯示中文了?
接下來(lái),你還可以安裝各種 IDE,探索它們是如何共享文件的...
本文轉(zhuǎn)載自微信公眾號(hào)「IOT物聯(lián)網(wǎng)小鎮(zhèn)」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系IOT物聯(lián)網(wǎng)小鎮(zhèn)公眾號(hào)。