乘風破浪,遇見最美Windows 11之適用於Linux的Windows子系統 - 兩種開啟姿勢(商店安裝+內置啟用)並運行GUI


什么是WSL

適用於Linux的Windows子系統(Windows Subsystem for Linux,WSL),是Windows系統的一個可選擴展功能,可讓開發人員按原樣運行GNU/Linux環境。

image

  • 包括大多數命令行工具、實用工具和應用程序。
  • 且不會產生傳統虛擬機或雙啟動設置開銷。

之前我們已經通過文章《Windows10上開啟WSL2(Windows Subsystem for Linux 2)及Docker Desktop For Windows》介紹過如何在Windows 10上開啟WSL2。

接下來,我們重點介紹下,如何在全新一代操作系統Windows 11中開啟WSL,這里主要是介紹商店安裝內置啟用兩種方式。

如果你已經升級到Windows 11,那么推薦你優先使用"商店安裝"的方式來使用WSL,這種方式具備如下特點:

  1. 商店版WSL並非一個新版本,這只是獲取及更新WSL的一種新方式。
  2. 商店版WSL可以幫助你以最快獲取WSL的新特性。
  3. 當商店版WSL更新時,不再需要更新操作系統版本,它可以獨立更新,以往它屬於Windows版本的一部分。

商店安裝

https://devblogs.microsoft.com/commandline/a-preview-of-wsl-in-the-microsoft-store-is-now-available/

1. 確保系統處於Windows 11最新版

從商店安裝WSL這個操作對系統的要求是系統版本必須大於22000,這意味着Windows 11首次正式發行版(22000.194)及最新Insider通道的預覽版都可以支持。

image

2. 命令行手動開啟虛擬機平台依賴

在Windows 11開始菜單上右鍵,從"Windows終端(管理員)"進入,以管理員權限打開Windows終端,執行如下命令開啟WSL依賴的"虛擬機平台"功能。

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

image

回答"Y",立即重啟計算機。

3. 從微軟商店(Microsoft Store)安裝WSL

https://www.microsoft.com/store/productId/9P9TQF7MRM4R

ms-windows-store://pdp/?productid=9P9TQF7MRM4R

https://aka.ms/wslstorepage

image

點擊"獲取"按鈕啟動下載並安裝。

image

可通過wsl命令來檢查安裝結果:

wsl

image

wsl --status

image

4. WSLg目前已經內置到商店版WSL

https://aka.ms/wslg

適用於Linux的Windows子系統的可視化界面(Windows Subsystem for Linux GUI, WSLg),已經被內置到商店版WSl中,無需額外安裝了。

5. 安裝喜愛的Linux發行版

https://aka.ms/wslstore

image

如果是才做可視化操作或者老系統命令行操作開啟的,那么開啟WSL之后,我們還需要前往Microsoft Store,尋找你喜愛的Linux發行版進行安裝即可。

image

內置啟用

如果你還是Windows 10或者已經是Windows 11,但是不希望使用商店安裝的方式,那么我們仍然可以使用系統內置的方式啟用WSL。

這里仍然包含兩種方式來開啟Windows系統內置的WSL.

1. 可視化操作開啟

a. 首選我們需要前往Windows 11設置

image

通過開始菜單,我們可以找到系統設置入口,進入后切換到"應用"設置分組,找到"可選功能",點擊它進入。

b. 進入更多Windows功能設置

image

遺憾的,雖然微軟已經讓眾多功能都可以被可選,但是WSL的開啟,仍然被藏在傳統的設置界面,所以我們需要拉到"可選功能"設置頁面的最底部,找到"更多Windows功能"的設置入口,點擊它進入。

c. 勾選WSL所需的Windows功能依賴項

image

在"Windows功能"設置對話框中,我們需要拉到最底部,找到並勾選好"適用於Linux的Windows子系統"和"虛擬機平台"這兩個選項,然后點擊"確定"按鈕,接下來會有一個進度條來等待處理。

image

d. 重啟Windows 11系統生效WSL

image

根據提示重啟系統生效。

回來之后,我們可以在Windows終端中輸入wsl這個關鍵詞來查看是否開啟成功。

image

wsl --status

image

2. 命令行操作開啟(Windows 11/ >= Win10 v2004)

https://docs.microsoft.com/en-us/windows/wsl/install

從Win10 v2004版本開始,系統內置了支持Wsl安裝的命令行指令,我們可以直接通過如何指令一鍵開啟並安裝:

wsl --install

image

這個命令,默認會安裝Ubuntu發行版,如果你需要指定其他Linux發行版,那么建議-d來指定。

wsl --install -d $DistributionName

image

但是如何知道目前有哪些發行版可選呢?可以通過命令來檢索:

wsl --list --online

image

3. 命令行操作開啟(< Win10 v2004)

https://docs.microsoft.com/en-us/windows/wsl/install-manual

a. 以管理員權限打開Windows終端

image

在Windows 11開始菜單上右鍵,可以看到"Windows終端(管理員)"菜單,點擊它,以管理員權限打開Windows終端。

b. 依次執行如下命令來開啟WSL

# 安裝適用於 Linux 的 Windows 子系統
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 啟用“虛擬機平台”可選組件
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

image

image

c. 重啟Windows 11系統生效WSL

最終,還是需要重啟才能生效的。

回來之后,我們可以在Windows終端中輸入wsl這個關鍵詞來查看是否開啟成功。

image

wsl --status

image

4. 安裝喜愛的Linux發行版

https://aka.ms/wslstore

image

如果是才做可視化操作或者老系統命令行操作開啟的,那么開啟WSL之后,我們還需要前往Microsoft Store,尋找你喜愛的Linux發行版進行安裝即可。

image

安裝並啟用Linux發行版可視化界面

https://docs.microsoft.com/zh-cn/windows/wsl/tutorials/gui-apps

基於適用於Linux的Windows子系統的可視化界面(Windows Subsystem for Linux GUI, WSLg),從WSL2開始我們已經可以開啟Linux發行版的GUI桌面應用了。

先安裝對應的vGPU驅動程序

若要運行Linux GUI應用,你應該首先安裝與你的系統匹配的預覽驅動程序。這使你能夠使用虛擬GPU(vGPU)以便你可以從硬件加速OpenGL呈現中獲益。

a. NVIDIA

image

image

b. AMD

image

image

image

檢查WSL更新確保到最新版本

以管理員權限運行Windows終端,執行如下命令

wsl --update

image

若要立即生效,需要執行如下命令來重啟:

wsl --shutdown

image

確保分發包的索引更新到最新

sudo apt update

image

嘗試在Linux中安裝帶可視化GUI界面的應用

a. 安裝Gedit

Gedit是GNOME桌面環境的默認文本編輯器。

sudo apt install gedit -y

image

輸入gedit命令啟動

image

b. 安裝GIMP

GIMP是一個免費的開源光柵圖形編輯器,用於圖像操作和圖像編輯、自由格式的繪圖、不同圖像文件格式之間的轉換,以及更專門化的任務。

sudo apt install gimp -y

c. 安裝Nautilus

Nautilus(也稱為GNOME文件)是GNOME桌面的文件管理器。(類似Windows文件資源管理器) 。

sudo apt install nautilus -y

image

輸入nautilus命令啟動

image

d. 安裝VLC

VLC是一個免費的開源跨平台多媒體播放器和一個播放大多數多媒體文件的框架。

sudo apt install vlc -y

d. 安裝X11

X11是Linux窗口系統,這是隨附的應用和工具的其他集合,如xclock、xcalc計算器、用於剪切和粘貼的xclipboard、xev用於事件測試等。

sudo apt install x11-apps -y

e. 安裝Linux版Google Chrome

  1. 將目錄更改為臨時文件夾:cd /tmp
  2. 使用wget下載:sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  3. 獲取當前穩定版本:sudo dpkg -i google-chrome-stable_current_amd64.deb
  4. 修復包:sudo apt install --fix-broken -y
  5. 配置包:sudo dpkg -i google-chrome-stable_current_amd64.deb

f. 安裝Linux版Microsoft Teams

  1. 將目錄更改為臨時文件夾:cd /tmp
  2. 使用卷下載包:sudo curl -L -o "./teams.deb" "https://teams.microsoft.com/downloads/desktopurl?env=production&plat=linux&arch=x64&download=true&linuxArchiveType=deb"
  3. 使用apt進行安裝:sudo apt install ./teams.deb -y

g. 安裝Linux版Microsoft Edge

https://www.microsoftedgeinsider.com/zh-cn/download?platform=linux-deb

## Setup
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" > /etc/apt/sources.list.d/microsoft-edge-beta.list'
sudo rm microsoft.gpg
## Install
sudo apt update
sudo apt install microsoft-edge-beta

image

輸入microsoft-edge命令啟動

使用及開發進階指南

從老版本WSL升級到最新WSL

以管理員權限運行Windows終端,執行如下命令,可以檢查WSL內核的更新。

wsl --update

image

檢索本地已安裝的Linux發行版

wsl --list

image

image

首次啟用並設置Linux發行版

https://docs.microsoft.com/en-us/windows/wsl/setup/environment

https://aka.ms/wslusers

從商店安裝完喜愛的Linux發行版之后,我們點擊打開,會有個初始化設置的過程,我們需要設置好新的賬號信息。

image

輸入新創建用戶的賬號和密碼即可。

image

首次使用,還建議立即執行Linux發行版的包管理的更新操作

sudo apt update && sudo apt upgrade

image

image

從Windows終端進入Linux發行版

image

因為Windows 11內置了Windows新終端,我們實際上可以直接從它進入到Linux發行版,這樣使用起來更加便捷。

從資源管理器訪問Linux所在目錄

\\wsl$

在Windows 11資源管理器的地址欄中輸入如上地址,回車,即可訪問到已安裝的Linux發行版的目錄。

image

點擊對應的Linux發行版名稱進入,可以查看到Linux內部的目錄。

image

以資源管理器形式訪問Linux指定目錄

如果在Linux終端中,我們希望查看當前Linux目錄對應的Windows系統中實際存儲位置的時候,我們可以在終端中輸入如下命令:

explorer.exe .

image

這時候,當前所處的Linux目錄就被資源管理器打開了。

image

我們會發現,原來Linux的這個根目錄對應的目錄是:\\wsl.localhost\Ubuntu-20.04

關於在Linux發行版中項目存儲目錄

https://docs.microsoft.com/zh-cn/windows/wsl/filesystems#file-storage-and-performance-across-file-systems

建議不要跨操作系統使用文件,除非有這么做的特定原因。若想獲得最快的性能速度,請將文件存儲在WSL文件系統中,前提是在Linux命令行(Ubuntu、OpenSUSE等)中工作。 如果使用Windows命令行(PowerShell、命令提示符)工作,請將文件存儲在Windows文件系統中。

比如在存儲WSL項目文件的時候,建議使用Linux的文件系統目錄,比如:\\wsl$\<DistroName>\home\<UserName>\Project,而不是Windows根目錄,比如:/mnt/c/Users/<UserName>/Project$/C:\Users\<UserName>\Project

在Linux發行版中安裝並啟用Git

通常來說,默認已經在大多數"適用於Linux的Windows子系統"安裝了Git,但是如果想要獲取最新版本,可通過如下命令:

sudo apt-get install git

image

如果還未配置Git的用戶名,可通過命令配置:

git config --global user.name "Your Name"

如果還未配置Git的電子郵件,可通過命令配置:

git config --global user.email "youremail@domain.com"

基於Docker和WSL遠程開發應用

若要開始使用Docker和WSL來開發應用,建議使用VS Code,以及WSL擴展和Docker擴展。

  • 安裝VSCode遠程WSL擴展。此擴展使你能夠在VS Code中打開在WSL上運行的Linux項目,(無需擔心路徑問題、二進制兼容性或)的其他跨操作系統挑戰。
  • 安裝VScodeRemote-Containers擴展。此擴展使你能夠在容器中打開你的項目文件夾或存儲庫,利用Visual Studio Code的完整功能集來完成容器中的開發工作。
  • 安裝VSCodeDocker擴展。此擴展添加了從VSCode內部生成、管理和部署容器化應用程序的功能。(需要Remote-Container擴展,才能實際使用容器作為開發環境。)

在Docker for Desktop設置中,啟用WSL的Docker集成。

image

在Linux發行版中使用Visual Studio Code打開項目

https://docs.microsoft.com/zh-cn/windows/wsl/tutorials/wsl-containers

以示例項目helloworld-django為例,我們先把它git clone下來,前往Linux當前用戶目錄。

cd /home/userName/

執行Git-Clone命令,把項目拉下來。

git clone https://github.com/mattwojo/helloworld-django.git

image

進入這個項目文件夾中

cd helloworld-django

image

通過Visual Studio Code打開當前目錄

code .

image

如果我們安裝了WSL和Docker集成的VS Code插件的話,那么會啟動遠程連接。

image

通過命令面板調用"remote-container:open folder in container".

image

點擊OK

image

然后將會打開VsCode新實例,開始生成Docker鏡像,並且啟動容器。

image

點擊運行按鈕,添加調試文件,然后開始調式

image

Docker映像存儲文件夾

https://docs.microsoft.com/zh-cn/windows/wsl/tutorials/wsl-containers

Docker創建了兩個用於存儲數據的發行版文件夾:

  • \\wsl.localhost\docker-desktop
  • \\wsl.localhost\docker-desktop-data

image

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM