WSL2 提供 X 桌面支持

參考資料:Xfce4 Desktop Environment and X Server for Ubuntu on WSL 2

2016年發(fā)布的原始Windows Linux子系統(tǒng)(WSL)添加了 Bash shell 并能夠在
Windows 中運行基于 Ubuntu,openSUSE,SUSE Enterprise Linux,Debian 或 Kali
Linux 的用戶空間。但是,沒有真正的Linux內(nèi)核在操作系統(tǒng)上運行。微軟的仿真層將 Linux 系統(tǒng)調(diào)用轉(zhuǎn)換為 Windows 系統(tǒng)調(diào)用。想要在 Windows 上測試和編譯 Linux 應(yīng)用程序的開發(fā)人員大為歡迎 WSL,因為這意味著他們可以使用 GNU 工具和實用程序而無需雙啟動或VM。與VM相比,除了文件系統(tǒng) I / O 之外,WSL 的 CPU 性能接近本地。由于 WSL 沒有真正的 Linux 內(nèi)核,因此在 WSL 中運行的Linux應(yīng)用程序因處理文件元數(shù)據(jù)的 Windows 鉤子而成為瓶頸,比原始 Linux 文件系統(tǒng)要慢得多。而且,某些應(yīng)用程序存在兼容性問題,因為它們依賴的內(nèi)核服務(wù)不可用。

WSL2 是為運行于 2016 年 5 月的 Windows Insider 計劃中的 Fast Ring 用戶而推出的 Windows 子系統(tǒng)。WSL2 是運行的實用程序 VM,它不依賴于內(nèi)核仿真,而是開源的完整 Linux 內(nèi)核。在 Windows 之上。VM 難道不意味著 WSL2 會像使用 Hyper-V 在 Windows 上運行 Linux VM 一樣遭受性能損失嗎?為解決此問題,Microsoft 將 WSL2 視為使用 Hyper-V 功能子集的高度優(yōu)化的 VM,該功能可提供接近本機的 CPU 和文件系統(tǒng) I / O 性能。到目前為止,大多數(shù) Beta 測試人員都觀察到 WSL2 的性能可與 WSL1 媲美。使用本地Linux內(nèi)核,WSL2 擁有近乎本機的文件系統(tǒng)性能,這促使 Docker 宣布其即將推出的 Windows 版 Docker 將利用 WSL2 代替當(dāng)前在 Hyper-V 中運行 Linux 容器所依賴的 Moby Linux VM。您不再需要等待 Docker for Windows 引導(dǎo)其 VM 的啟動。根據(jù) Docker 的說法,WSL2 和 Docker 守護程序會在其開發(fā)筆記本電腦上在2秒內(nèi)啟動,這意味著 WSL2 可以在啟動容器的同時啟動(而不是在啟動時啟動)。另外一個好處是,從容器到 Windows 主機的綁定裝載將不再依賴 Samba 服務(wù),而是由 WSL2 以本機方式進(jìn)行處理,性能要好得多。

安裝 WSL2 不需要啟用 Hyper-V,只需啟用 Linux 的 Windows 子系統(tǒng)和 Windows 可選功能中的虛擬機平臺。只要您運行的是 Insider Preview 內(nèi)部版本 18917 或更高版本,您就會看到這些功能可用-包括 Windows 10 Home。盡管 WSL2 旨在作為開發(fā)人員的命令行工具,但是桌面環(huán)境可以在 WSL2 內(nèi)運行,并且您可以使用 Windows 的X Server(例如 Xming或 VcXSrv)來偵聽 Linux 中的 X11(圖形)程序。Xfce4 是一個輕量級的桌面環(huán)境,開發(fā)人員已經(jīng)能夠使用 WSL 和 WSL2。WSL2 需要 Insider Preview 內(nèi)部版本 18917 及更高版本。 要檢查您當(dāng)前正在運行的 Windows 構(gòu)建版本,請打開 Powershell 窗口并運行命令 winver。如果內(nèi)部版本號> 18917,就可以開始使用。

接下來,打開 Administrator Powershell 窗口并運行以下命令。啟用每個功能都需要重新啟動,因此請保存所有工作并關(guān)閉其他應(yīng)用程序。

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

接下來,打開 Microsoft Store 并安裝您選擇的發(fā)行版。我們使用Ubuntu 20.04 LTS,但您可以選擇任何與 WSL 兼容的發(fā)行版。

下載完成后,從“開始”菜單打開 Ubuntu Shell 以完成 Ubuntu 的安裝。系統(tǒng)將提示您提供 Linux 用戶名和密碼。最初,WSL 將在不利用新功能的原始版本 WSL1 下運行。現(xiàn)在打開 Powershell 窗口并運行以下命令。第一個命令列出了已安裝的 Linux 的 WSL 發(fā)行版,第二個命令將 Ubuntu 從 WSL1 轉(zhuǎn)換為WSL2。如果希望以后安裝的所有 WSL 發(fā)行版默認(rèn)使用 WSL2 功能,則第三條命令是可選的。

wsl --list --verbose
wsl --set-version Ubuntu-18.04 2
wsl --set-default version 2

如果 WSL 到版本2的轉(zhuǎn)換失敗,并顯示錯誤消息,例如“轉(zhuǎn)換失敗”或“錯誤0x03a001a”,則由于虛擬磁盤系統(tǒng)限制,無法完成請求的操作。虛擬磁盤文件必須未壓縮和未加密,并且不能稀疏。”,請嘗試檢查以下內(nèi)容。

  • 重新啟動系統(tǒng)。
  • 必須在您的BIOS 中啟用虛擬化擴展,例如 Intel VT-x 或 AMD-V。
  • 必須為 Ubuntu AppData 文件夾禁用壓縮和加密(請參閱 Github Issue #4103)。 路徑看起來像這樣。
%localappdata%\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc

1 設(shè)置圖形界面

1.1 安裝 choco

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

1.2 使用 choco 安裝 VcXsrv

choco install vcxsrv

配置防火墻,外界網(wǎng)絡(luò)訪問 VcXsrv 的端口

2 啟動 VcXsrv

Display settings: One large window
How to start clients: Start no client
Disable access control: Yes:一定要選這一項,WSL 2 相當(dāng)于遠(yuǎn)程(外界)網(wǎng)絡(luò)了,和 Windows 10 是分開的,和 WSL 1 不一樣

完成后,單擊“完成”以啟動X服務(wù)器。如果Windows防火墻提示,請確保允許從公用網(wǎng)絡(luò)和專用網(wǎng)絡(luò)都連接到 VcXSrv。雙擊系統(tǒng)任務(wù)欄中的X圖標(biāo),將 VcXSrv 帶入前臺。現(xiàn)在,您將看到黑屏,因為 Linux 中還沒有運行圖形化的 X11 應(yīng)用程序。

3 wsl 安裝 xfce4

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install xfce4
sudo apt install xfce4-session

安裝完之后需要稍微配置一下:

echo "export DISPLAY=:0.0">> ~/.bashrc

或者

echo "export DISPLAY=localhost:0">> ~/.bashrc

如果報錯,則需要在 PowerShell 獲取 IP:

ipconfig

在 WSL 中修改:

echo "export DISPLAY=IP:0">> ~/.bashrc

使設(shè)定生效:

source ~/.bashrc

4 時鐘測試

sudo apt install x11-apps

啟動:

xclock

效果:

5 啟動 Ubuntu 桌面

startxfce4

或者

xfce4-session

效果:

6 最后使用 vbs 和 bat 制作一個快速訪問

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,362評論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,013評論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,346評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,421評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,146評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,534評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,585評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,767評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,318評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,074評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,258評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,828評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,486評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,916評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,156評論 1 290
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,993評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,234評論 2 375