WSL簡(jiǎn)介
什么是 WSL ?
在計(jì)算機(jī)上使用 Linux 系統(tǒng)通常有兩種方式:使用虛擬機(jī)或安裝 Linux 系統(tǒng)。使用虛擬機(jī)時(shí)開銷較大,直接使用 Linux 系統(tǒng)雖然可以帶來(lái)流暢體驗(yàn),但與 Windows 之間來(lái)回切換比較麻煩。為此,微軟開發(fā)了適用于 Linux 的 Windows 子系統(tǒng),簡(jiǎn)稱 WSL。
WSL 可以讓開發(fā)人員可以在 Windows 計(jì)算機(jī)上同時(shí)訪問(wèn) Windows 和 Linux 系統(tǒng)。 通過(guò)WSL開發(fā)人員可以安裝 Linux 發(fā)行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在 Windows 上使用 Linux 應(yīng)用程序、實(shí)用程序和 Bash 命令行工具,不用進(jìn)行任何修改,也無(wú)需承擔(dān)傳統(tǒng)虛擬機(jī)或雙啟動(dòng)設(shè)置的開銷。
WSL 1 與 WSL 2
WSL 1 和 WSL 2 之間的主要區(qū)別在于,在托管 VM 內(nèi)使用實(shí)際的 Linux 內(nèi)核、支持完整的系統(tǒng)調(diào)用兼容性以及跨 Linux 和 Windows 操作系統(tǒng)的性能。?
從上表中可以看出,WSL 2 架構(gòu)在幾個(gè)方面優(yōu)于 WSL 1,但跨 OS 文件系統(tǒng)的性能除外,對(duì)于這種情況,可通過(guò)將項(xiàng)目文件存儲(chǔ)在與處理項(xiàng)目時(shí)運(yùn)行的工具相同的操作系統(tǒng)上進(jìn)行處理。
WSL 2 僅在 Windows 11 或 Windows 10 版本 1903、內(nèi)部版本 18362 或更高版本中可用。 通過(guò)按 Windows 徽標(biāo)鍵 + R,檢查你的 Windows 版本,然后鍵入?winver,選擇“確定”。
安裝 WSL
如果運(yùn)行 Windows 10 版本 2004 及更高版本(內(nèi)部版本 19041 及更高版本)或 Windows 11 ,則可使用命令 wsl --install? 安裝運(yùn)行 WSL 所需的一切內(nèi)容,具體步驟參考?安裝 WSL | Microsoft Learn?。此命令將啟用運(yùn)行 WSL 并安裝 Linux 的 Ubuntu 發(fā)行版所需的功能,默認(rèn)安裝在C盤用戶的Appdata目錄中。下面介紹手動(dòng)安裝 WSL 以及 Linux 發(fā)行版的步驟。
開啟 WSL1
需要先啟用 “適用于 Linux 的 Windows 子系統(tǒng)“ 可選功能,才能在 Windows 上安裝 Linux 分發(fā)版。在 設(shè)置 -> 更新與安全->開發(fā)者選項(xiàng) 中開啟?開發(fā)人員模式 ,然后在 程序和功能 -> 啟用或關(guān)閉 Windows 功能?中勾選?適用于 Linux 的 Windows 子系統(tǒng)?,重啟計(jì)算機(jī)。
?
命令行方式:以管理員身份打開終端 PowerShell 然后輸入以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
升級(jí)到 WSL2
若要更新到 WSL 2,需要運(yùn)行 Windows 10:
- 對(duì)于 x64 系統(tǒng):版本 1903 或更高版本,內(nèi)部版本為 18362 或更高版本。
- 對(duì)于 ARM64 系統(tǒng):版本 2004 或更高版本,內(nèi)部版本為 19041 或更高版本。
或 Windows 11。
安裝 WSL 2 之前,必須啟用 ”虛擬機(jī)平臺(tái)” 可選功能。在?程序和功能 -> 啟用或關(guān)閉 Windows 功能?中勾選 虛擬機(jī)平臺(tái) 可選功能或者以管理員身份打開終端 PowerShell 并運(yùn)行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重啟計(jì)算機(jī),以完成 WSL 安裝并更新到 WSL 2。
安裝 Linux 內(nèi)核更新包
1. 下載最新包:適用于 x64 計(jì)算機(jī)的 WSL2 Linux 內(nèi)核更新包
2. 運(yùn)行上一步中下載的更新包。(雙擊運(yùn)行 - 系統(tǒng)將提示你提供提升的權(quán)限,選擇“是”)
設(shè)置 WSL 默認(rèn)版本
打開 PowerShell,然后在安裝新的 Linux 發(fā)行版時(shí)運(yùn)行以下命令,將 WSL 2 設(shè)置為默認(rèn)版本:
wsl --set-default-version 2
安裝 Linux 發(fā)行版
安裝方式
1. 通過(guò)?Microsoft Store?或者使用命令 wsl --install 自動(dòng)安裝。默認(rèn)安裝的 Linux 分發(fā)版是?Ubuntu ,可使用命令?wsl --install -d <Distribution Name> 來(lái)指定安裝的發(fā)行版,將?<Distribution Name> 替換為要安裝的發(fā)行版的名稱。但這種方式僅適用于?Microsoft Store 支持的版本,使用命令?wsl --list --online?查看可通過(guò)在線商店下載的可用 Linux 發(fā)行版列表。
2.?導(dǎo)入要與 WSL 一起使用的任何 Linux 發(fā)行版 | Microsoft Learn
3. 使用?LxRunOffline 插件能夠安裝任意發(fā)行版系統(tǒng)到任意目錄,且具備轉(zhuǎn)移已安裝WSL目錄、備份等功能,是一個(gè)極好的 WSL 管理軟件,下面主要介紹使用?LxRunOffline 安裝發(fā)行版。
安裝 LxRunOffline
GitHub 下載最新版:https://github.com/DDoSolitary/LxRunOffline/releases?下載并解壓縮之后直接拷貝到 C:\Windows\System32 或者 添加插件目錄到環(huán)境變量 Path。如果需要通過(guò)右鍵菜單功能執(zhí)行某些功能操作,則需要以管理員權(quán)限打開終端,執(zhí)行 regsvr32 LxRunOfflineShellExt.dll 完成功能注冊(cè)。最后打開終端輸入命令?lxrunoffline?驗(yàn)證是否安裝成功。
下載發(fā)行版鏡像
- Microsoft WSL 離線包:Manually download Windows Subsystem for Linux (WSL) Distros
- LxRunOffline WiKi 鏡像:DDoSolitary/LxRunOffline Wiki · GitHub
- 從其它渠道下載的發(fā)行版鏡像包
如果是從微軟官方下載的 WSL 離線包,解壓后找到 install.tar.gz 就是后續(xù)使用的安裝文件。
開啟目錄大小寫敏感?
Windows 文件系統(tǒng)默認(rèn)不區(qū)分大小寫,而Linux是區(qū)分的。這就導(dǎo)致在安裝、運(yùn)行部分軟件時(shí)會(huì)報(bào)錯(cuò),我們新建一個(gè)用于存放 WSL 的安裝目錄,打開終端并切換到相應(yīng)目錄,運(yùn)行以下命令開啟當(dāng)前目錄大小寫敏感:?
# .\ 表示當(dāng)前目錄,此處參數(shù)可自定義
fsutil.exe file setCaseSensitiveInfo .\ enable
# 查看某個(gè)目錄是否大小寫敏感
fsutil.exe file queryCaseSensitiveInfo <path>
# 禁用大小寫敏感
fsutil.exe file setCaseSensitiveInfo <path> disable
安裝發(fā)行版
輸入以下命令進(jìn)行安裝:
# -s 參數(shù)表示在桌面創(chuàng)建WSL快捷圖標(biāo)
lxrunoffline i -s -n <WSL名稱> -d <安裝路徑> -f <安裝包路徑>.tar.gz
例如:
LxRunOffline i -n centos -d D:\linux\centos7 -f D:\downloads\centos-7-x86_64-docker.tar.xz
使用 WSL
本文所有示例將以 Ubuntu2204 發(fā)行版為例,WSL 基本使用命令可參考 Microsoft 官方文檔:?
WSL 的基本命令 | Microsoft Learnhttps://learn.microsoft.com/zh-cn/windows/wsl/basic-commands
運(yùn)行 WSL
運(yùn)行默認(rèn) Linux 發(fā)行版
# 方式1
wsl
# 方式2
bash
運(yùn)行指定 Linux 發(fā)行版
# wsl命令
wsl -d <WSL名稱>
# lxrunoffline 命令
lxrunoffline r -n <WSL名稱>
設(shè)置默認(rèn)用戶
使用 LxRunOf-fline 安裝的 WSL 默認(rèn)是以 root 用戶登錄,如果你需要默認(rèn)以普通用戶登錄則需要進(jìn)行以下操作。首先運(yùn)行 WSL 并輸入以下命令創(chuàng)建用戶:
useradd -m -s /bin/bash <用戶名>
然后對(duì)該用戶設(shè)置密碼,輸入命令后會(huì)提示輸入兩次密碼
passwd <用戶名>
授予該用戶 sudo 權(quán)限
usermod -aG sudo <用戶名>
查看用戶 UID ,一般是 1000
id -u <用戶名>
按 Ctrl+D 退出 WSL ,在 Pow-er-Shell 中輸入以下命令設(shè)置默認(rèn)用戶:
lxrunoffline su -n <WSL名稱> -v 1000(UID)
修改?WSL 名稱或目錄后就無(wú)法通過(guò) 官方命令設(shè)置默認(rèn)用戶,同樣可以通過(guò)以上方式進(jìn)行設(shè)置。
設(shè)置默認(rèn) WSL
# 命令1
wsl --set-default <WSL名稱>
# 命令2
lxrunoffline sd -n <WSL名稱>
修改 WSL 名稱
# 查看WSL名稱
wsl -l
# 查看WSL安裝目錄
lxrunoffline di -n <WSL名稱>
# 導(dǎo)出指定WSL配置文件到目標(biāo)路徑
lxrunoffline ec -n <WSL名稱> -f <配置文件路徑>.xml
# 取消注冊(cè)
lxrunoffline ur -n <WSL名稱>
# 使用新名稱注冊(cè)
lxrunoffline rg -n <WSL名稱> -d <WSL路徑> -c <配置文件路徑>.xml
列出已安裝發(fā)行版
查看所有已安裝的 Linux 發(fā)行版列表,其中包括狀態(tài)(正在運(yùn)行或已停止)和運(yùn)行發(fā)行版的 WSL 版本(WSL1 或 WSL2)。
wsl -l -v
設(shè)置指定?WSL 版本
wsl --set-default-version <distribution name> <Version>
若要指定運(yùn)行 Linux 發(fā)行版的 WSL 版本(1 或 2),請(qǐng)將 <distribution name>??替換為發(fā)行版的名稱,并將 <Version> 替換為 1 或 2 。
創(chuàng)建快捷方式
lxrunoffline s -n <WSL名稱> -f <快捷方式路徑>.lnk
關(guān)閉 WSL
1. 關(guān)閉當(dāng)前正在運(yùn)行的發(fā)行版:在終端中使用快捷鍵 CTRL+ D
注意:該方式并不會(huì)立即終止 WSL 的運(yùn)行,會(huì)有十幾秒的延遲。
2. 終止指定的發(fā)行版或阻止其運(yùn)行
wsl -t <WSL名稱>
3. 立即終止所有正在運(yùn)行的發(fā)行版和 WSL2 輕量級(jí)實(shí)用工具虛擬機(jī)
wsl --shutdown
在需要重啟 WSL 2 虛擬機(jī)環(huán)境的情形下,例如?更改內(nèi)存使用限制?或更改?.wslconfig 文件,可能必須使用此命令。
在 WSL 中訪問(wèn) Windows 文件
WSL 的優(yōu)勢(shì)之一是可以通過(guò) Windows 和 Linux 應(yīng)用或工具訪問(wèn)文件。WSL 將計(jì)算機(jī)的固定驅(qū)動(dòng)器裝載到 Linux 分發(fā)版中的 /mnt/<drive> 文件夾下。 例如,你的 C: 驅(qū)動(dòng)器裝載在 /mnt/c/?。
例如,使用裝載的驅(qū)動(dòng)器,可以使用 Visual Studio 或 VS Code 編輯 C:\dev\myproj\ 中的代碼,并通過(guò) /mnt/c/dev/myproj 訪問(wèn)相同的文件,在 Linux 中測(cè)試該代碼。
使用 WSL 的主要限制之一是不支持使用 Windows 應(yīng)用或工具直接訪問(wèn)/更改 Linux 發(fā)行版文件系統(tǒng)中的文件。Windows 和 Linux 中文件元數(shù)據(jù)的表示方式是不同的。因此,通過(guò) Windows 應(yīng)用、工具、腳本、終端來(lái)訪問(wèn)、創(chuàng)建、修改 Windows 目錄中的 Linux 子系統(tǒng)的文件時(shí),會(huì)造成數(shù)據(jù)污染或損壞 Linux 環(huán)境,導(dǎo)致需要卸載和重新安裝 Linux 子系統(tǒng)。
正確方法:將工作文件存放在 Windows 文件系統(tǒng)中,這樣不僅可以在 Windows 中直接訪問(wèn),還能在 Linux 中通過(guò) /mnt/<drive>/<path>?進(jìn)行訪問(wèn),避免在兩個(gè)系統(tǒng)中來(lái)回拷貝文件。
更換軟件源
使用 Linux 子系統(tǒng)時(shí),為了提高軟件的安裝速度,需要將軟件源換成國(guó)內(nèi)的鏡像源。
1. 備份原來(lái)的數(shù)據(jù)源配置文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak
2. 修改數(shù)據(jù)源配置文件:直接使用國(guó)內(nèi)源覆蓋文件內(nèi)容
sudo vi /etc/apt/sources.list
這里使用?Ubuntu 22.04 的中科大源,名稱為?jammy,其他版本則替換為對(duì)應(yīng)的版本名稱即可。
# 默認(rèn)注釋了源碼倉(cāng)庫(kù),如有需要可自行取消注釋
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
其它軟件源請(qǐng)參考:?Ubuntu 22.04換國(guó)內(nèi)源 清華源 阿里源 中科大源 163源_CSDN博客https://blog.csdn.net/xiangxianghehe/article/details/122856771
3.?更新升級(jí)軟件 (可選)
sudo apt-get update
sudo apt-get upgrade
安裝 systemd 腳本[可選]
目前 WSL 不支持 systemd(Linux 服務(wù)管理系統(tǒng)),可以安裝?ubuntu-wsl2-systemd-script?腳本來(lái)使用相關(guān)命令。注:安裝該腳本需要將 WSL 版本切換為 WSL2 ,否則使用時(shí)可能會(huì)報(bào)錯(cuò)。
# 安裝git
sudo apt install git
# 運(yùn)行腳本和命令
git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
cd ubuntu-wsl2-systemd-script/
bash ubuntu-wsl2-systemd-script.sh
# 重新啟動(dòng) WSL 并嘗試運(yùn)行 systemctl
systemctl
安裝圖形界面
安裝桌面環(huán)境xfce4
sudo apt-get install xfce4 xfce4-goodies
注:display manager 選擇?gdm3 或?lightdm 均可。
安裝遠(yuǎn)程桌面服務(wù)xrdp
sudo apt-get install xrdp
修改配置文件xrdp.ini
# 復(fù)制一份備用
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
# 配置端口 3389 改為 3390,避免和windows的端口沖突
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
# max_bpp=32?修改為 128(最大位圖深度)
sudo sed -i 's/max_bpp=32/#max_bbp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
# #xserverbpp=24?修改為 128,取消注釋 #
sudo sed -i 's/xservervpp=24/#xservervpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
新增配置文件.xsession
# 告訴系統(tǒng): 開啟桌面環(huán)境的時(shí)候用xfce4-session
sudo echo xfce4-session > ~/.xsession
配置sesman.ini
sudo vim /etc/xrdp/sesman.ini
將?KillDisconnected?的值修改為 true 保存退出。
修改配置startwm.sh
sudo vim /etc/xrdp/startwm.sh
注釋掉末尾亮行,并添加一行?startxfce4?如圖所示:
啟用 xrdp 服務(wù)
sudo /etc/init.d/xrdp start
WSL 的圖形桌面需借助 Windows 遠(yuǎn)程桌面進(jìn)行顯示,但必須先開啟 xrdp 服務(wù)才能使用遠(yuǎn)程桌面連接。這樣每次使用 WSL 桌面都需要手動(dòng)開啟 xrdp,可將?xrdp 服務(wù)設(shè)置為開機(jī)自啟。
WSL(ubuntu2204)xfce4語(yǔ)言支持報(bào)錯(cuò)及配置WSL服務(wù)自啟_itboone的博客https://blog.csdn.net/w47_csdn/article/details/129101896?spm=1001.2014.3001.5501
遠(yuǎn)程桌面鏈接
按下 Windows+R 鍵,輸入 mstsc 打開遠(yuǎn)程桌面連接。
IP為本機(jī)即 localhost,端口為配置的3390,IP?也可以使用 ifconfig 命令查到的?eth0?inet 地址。
連接后進(jìn)入登錄頁(yè)面,用戶名和密碼填寫 WSL 的用戶名和密碼。注:不要使用 root 用戶登錄。
?
安裝 chrome 瀏覽器
1. 為Google Chrome 創(chuàng)建源列表文件
sudo vim /etc/apt/sources.list.d/google-chrome.list
2.?在源列表文件中添加以下內(nèi)容
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
3.?下載Google的簽名密鑰
wget https://dl.google.com/linux/linux_signing_key.pub
4. 將密鑰添加到密鑰環(huán)以便包管理器可以驗(yàn)證包的完整性
sudo apt-key add linux_signing_key.pub
5.?更新包列表并安裝穩(wěn)定版 Chrome
sudo apt update
sudo apt install google-chrome-stable
6. 從命令行啟動(dòng) Chrome 瀏覽器
google-chrome-stable
安裝中文環(huán)境及中文輸入法
WSL(ubuntu2204)xfce4安裝中文環(huán)境和fcitx5框架及中文輸入法_itboone的博客https://blog.csdn.net/w47_csdn/article/details/129107128?spm=1001.2014.3001.5501
相關(guān)問(wèn)題
一勞永逸,wsl2出現(xiàn)“參考的對(duì)象類型不支持嘗試的操作”的解決辦法_桑榆肖物的博客https://blog.csdn.net/marin1993/article/details/119841299
參考資料
適用于 Linux 的 Windows 子系統(tǒng)文檔 | Microsoft Learnhttps://learn.microsoft.com/zh-cn/windows/wsl/
LxRunOffline使用手冊(cè) | 0opsdc (oopsdc.com)https://oopsdc.com/post/lxrunoffline/
使用 LxRunOffline 實(shí)現(xiàn) WSL 自定義安裝_farer_yyh的博客https://blog.csdn.net/farer_yyh/article/details/113785474
WSL GUI圖形界面(xfce4)的安裝 - 簡(jiǎn)書 (jianshu.com)https://www.jianshu.com/p/af94731626e3
WSL(Ubuntu20.04)與其圖形界面安裝配置_sandonz的博客https://blog.csdn.net/sandonz/article/details/120854876文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-648062.html
Win10 系統(tǒng)安裝 Linux 子系統(tǒng)教程(WSL2 + Ubuntu 20.04 + Gnome 桌面 )https://blog.csdn.net/FSKEps/article/details/118493578文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-648062.html
到了這里,關(guān)于Win10安裝Linux子系統(tǒng)WSL(ubuntu2204)及圖形桌面xfce4的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!