WSL系統(tǒng)使用指南

2016年上半年的時候,微軟在推出的windows 10 內(nèi)部預(yù)覽版中搭載了用戶期待已久的windows subsystem for linux (WSL)服務(wù),用戶只要開啟這項(xiàng)服務(wù)就能夠在windows系統(tǒng)上體驗(yàn)原生的Linux bash指令操作。下面我們就介紹下在使用這項(xiàng)服務(wù)的經(jīng)驗(yàn):

一:安裝WSL子系統(tǒng)

盡管微軟有志于將Linux命令行操作體驗(yàn)整合到Windows系統(tǒng)下來,WSL也作為一項(xiàng)獨(dú)立的windows服務(wù)引進(jìn),但這項(xiàng)服務(wù)默認(rèn)是不開啟的,要體驗(yàn)Linux需先開啟該服務(wù)。你有兩種方式開啟這項(xiàng)服務(wù):

  1. 控制面板->程序和功能->添加Windows功能和服務(wù)->勾選Windows subsystem for Linux
  2. Powershell命令行 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

至此,你的電腦已經(jīng)在策略上允許使用Linux子系統(tǒng)了,但是這項(xiàng)服務(wù)本身并不包含Linux子系統(tǒng)本身,你需要額外安裝相應(yīng)的Linux系統(tǒng)才行。你有三種途徑安裝Linux子系統(tǒng):

  1. 從Windows Store下載相應(yīng)的發(fā)行版
  2. 通過命令行安裝
  3. 下載發(fā)行版,然后手動解壓安裝

1.1 從Windows Store 安裝

參考:Windows 10 Installation Guide

打開Windows Store 搜索Linux,Store會為你推薦目標(biāo)答案:


Windows Store Linux子系統(tǒng)

點(diǎn)擊“Get the apps”進(jìn)入以下頁面:


Windows Store Linux子系統(tǒng)

展示了目前支持的幾個發(fā)行版,均以windows metro 應(yīng)用的方式發(fā)布。選擇相應(yīng)的版本安裝即可。

1.2 命令行安裝

參考:Manually download WSL distro packages

從Windows Store安裝Linux簡單方便,但不適用于所有情況,比如系統(tǒng)版本低于16215 Windows Store不提供可直接下載安裝的發(fā)行版或者Windows Server版中Windows Store因安全因素考慮被禁止使用,這時候用戶可以手動下載這些Linux 發(fā)行版APP進(jìn)行安裝。
下載地址如下:
Ubuntu 18.04https://aka.ms/wsl-ubuntu-1804
Ubuntu 18.04 ARMhttps://aka.ms/wsl-ubuntu-1804-arm
Ubuntu 16.04https://aka.ms/wsl-ubuntu-1604
Debian GNU/Linuxhttps://aka.ms/wsl-debian-gnulinux
Kali Linuxhttps://aka.ms/wsl-kali-linux
OpenSUSEhttps://aka.ms/wsl-opensuse-42
SLEShttps://aka.ms/wsl-sles-12
我們以安裝 Ubuntu 16.04 為例講解如何通過命令行安裝WSL。

1.2.1 下載Linux發(fā)行版

下載方式有很多,你可以選擇自己喜歡的任何方式下載。

# PowerShell 中使用Invoke-WebRequest 指令
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing

# CMD 中使用curl指令,該指令Windows 10 2018春季版及以后可使用
curl.exe -L -o ubuntu-1604.appx https://aka.ms/wsl-ubuntu-1604

或 直接點(diǎn)擊鏈接下載或?qū)⑦B接復(fù)制到下載器中下載。下載文件保存為 xxx.appx即可。

1.2.2 安裝下載的appx文件
# PowerShell 
add-appxpackage /path/to/xxx.appx

或解壓下載的xxx.appx后從解壓文件手動安裝,參加小節(jié)1.3.

1.3 手動解壓安裝

在我們使用1.2.1中的方法下載Linux發(fā)行版后,得到文件xxx.appx。這時候我們可以通過解壓appx文件來安裝應(yīng)用,具體:

  1. 重命名xxx.appx文件為xxx.zip, Rename-Item /path/to/xxx.appx /path/to/xxx.zip。
  2. 解壓zip文件,Expand-Archive /path/to/xxx.zip /path/to/xxx,確保/path/to/xxx在系統(tǒng)盤。
  3. 進(jìn)入解壓目錄運(yùn)行發(fā)行版加載程序,如ubuntu.exe,完成安裝。
  • 幾點(diǎn)注意事項(xiàng)
  1. 從Windows Store 安裝Linux子系統(tǒng)需要windows版本在16215及以后。
  2. WSL只能運(yùn)行在系統(tǒng)盤,默認(rèn)是C盤,請確保WSL安裝在C盤。如果你在設(shè)置中更改了APP的默認(rèn)安裝位置,則在通過Windows Store安裝WSL之前需先將默認(rèn)安裝位置改為系統(tǒng)盤,以便Linux發(fā)行版能正確安裝在系統(tǒng)盤。
  3. 命令行環(huán)境,包括:CMD、Powershell 和 WSL 不允許在Windows 10 S 上運(yùn)行。

二:修改WSL默認(rèn)登陸用戶

安裝完WSL,用戶即可運(yùn)行程序來實(shí)例化一個Linux運(yùn)行環(huán)境。首次啟動應(yīng)用程序時,需要等待程序完成一些初始化操作,之后程序?qū)蛴脩粢笤O(shè)置一個用戶名,這個用戶名是用來登陸WSL的默認(rèn)用戶。每次啟動程序,將自動使用該用戶登陸,不需要用戶輸入密碼,用戶只有在執(zhí)行sudo等高權(quán)限指令的時候才會被要求輸入密碼。

用戶可以修改默認(rèn)登陸用戶,例如對于Ubuntu發(fā)行版, ubuntu config --default-user root可設(shè)置默認(rèn)使用root身份登陸WSL。這是很有用的,當(dāng)你忘記了普通用戶的密碼后,可以通過這種方式進(jìn)入root模式來修改或重置普通用戶的登陸口令。

三: 其他

1. 修改Ubuntu終端默認(rèn)字體

WSL默認(rèn)字體根據(jù)系統(tǒng)版本和區(qū)域語言設(shè)置各有不同,用戶可以按下圖中終端默認(rèn)字體設(shè)置過程調(diào)整終端使用的默認(rèn)字體和字體大小。修改默認(rèn)字體后,下次打開終端會自動應(yīng)用設(shè)置的默認(rèn)字體。


修改終端默認(rèn)字體和系統(tǒng)語言設(shè)置

如果默認(rèn)字體設(shè)置無效,重啟終端設(shè)置丟失,可能是字符編碼的問題:你的終端包含了當(dāng)前字符編碼不支持的字符??赏ㄟ^設(shè)置默認(rèn)字符編碼解決。
window 命令行默認(rèn)的字符編碼格式在 我的系統(tǒng)上是 UFT-8,可以如下圖所示查看:

查看當(dāng)前終端使用的字符編碼格式

也可使用命令行指令:cmd /C chcp 查看。
還可以通過修改注冊表鍵值的方法更改默認(rèn)字符編碼:
注冊表修改Ubuntu終端默認(rèn)字符編碼

設(shè)置后,自定義配置應(yīng)該不會丟失。為保證較好的兼容性,我們開啟windows 區(qū)域和語言設(shè)置 中的 非unicode 程序語言,使用unicode utf-8 提供全球語言支持,有效減少字符與編碼的不兼容導(dǎo)致的問題。典型案例就是Tmux自定義主題中狀態(tài)欄多行(不能一行顯示)的問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容