[Windows 10] WSL 安裝流程,美化與心得(包含個人優缺點等..)
[前言]
Windows Subsystem for Linux (WSL) 是微軟近期開發的重點功能之一
簡單來說就是可以讓你在Windows上執行Linux
但卻又不是像Virtual Box或VMware那樣是虛擬的
你基本上可以再WSL上執行、安裝任何Linux的指令、套件
這樣看似有點多此一舉,不過不得不承認有的時候執行一些東西再Linux上還是比較方便
除此之外,另一個優點是你可以用美美的Terminal,不論是直接開啟或是在VS Code裡
不過,WSL畢竟不是真正的Linux,勢必會有一些缺點
以下提供一些我個人使用上遇到的問題與優缺點分析
並說明如何安裝、使用並美化他
[優缺點]
- 優點:
- 美美的Terminal,充滿各種Icon跟圖示,當然zsh也可以用
- 可以執行Linux的指令,再也不用受ifconfig跟ipconfig這種痛苦 [註1]
- 微軟原生的功能,相容性很完美,VS Code運作良好,Debug mode也可以執行
- 兩個系統資料可互相存取
- 缺點:
- 效能不佳,對於需要大運算的程式還是建議在Windows上完成
- 若使用WSL2,會導致部分其他程式的執行問題,例如安卓模擬器
- 如果有使用Hamachi,會導致WSL的網路功能異常
目前遇到的比較麻煩的缺點基本上都還算是可以排除拉
不過底線的兩點需要特別留意一下
如果有要開模擬器掛手遊或是Hamachi跟朋友玩區網遊戲的 (我)
可以思考一下
[註1]
到了Windows 10,cmd基本上已經被Power Shell取代
PS也可以用部分Linux的指令,例如cd之類的
[該準備的東西]
1. 更新到最新的Windows 10,或最少1903以上
2. Microsoft Store
3. 除錯知識
注意,安裝WSL的時候需要開啟Windows 10裡的一些功能,特別是WSL2
這些功能並不是預設開啟,所以有可能導致你平常使用的一些程式無法正常運作
請確保你有辦法恢復成原本的Windows 或有辦法排除這些問題
[WSL 1? WSL 2?]
基本上,最快速區分你該使用1或2的點就是
你有沒有需要使用其他虛擬化技術的程式,例如VMware或安卓模擬器
WSL 2微軟改進了許多效能,特別是I/O的部分
但由於WSL 2用的是Hyper-V架構,這會使得其他的虛擬機無法使用
我個人的測試是有效能提升但並沒有飛快這樣
因此我目前的決定是犧牲一點效能換來比較大的相容性
如果想了解更多差異可以看這篇官方文件
[Step by Step]
這裡會分成幾個部分,分別是WSL 1、WSL 2和美化
你可以根據標題自己跳到感興趣的地方
以下指令都是在Power Shell下執行
詳細說明可以看這篇官方文件,裡面很詳細說明了
我純粹搬運而已
- WSL 1
啟用 WSL 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
開啟 Microsoft Store,選擇你想要的Linux版本
設定使用者名稱與密碼
done!
- WSL 2
啟用 WSL 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
啟用虛擬機器平台功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
下載Linux核心更新套件並安裝
設定WSL預設版本
wsl --set-default-version 2
開啟 Microsoft Store,選擇你想要的Linux版本
設定使用者名稱與密碼
(同WSL 1)
done!
- 美化
完成上面的步驟後,基本上WSL就可以執行了
接下來我們要透過安裝zsh和Powerlevel10k來美化一下他
在開始之前,我強烈建議安裝微軟自己出的Windows Terminal (沒錯 他就叫Terminal)
一樣在Microsoft Store下載
當然你要用你自己的終端機軟體也可以
以下就用Terminal 來做示範
修改Terminal設置
點選箭頭>設定
接著修改字體
根據Powerlevel10k的建議,我們使用MesloLGS NF字體
將fontFace改成MesloLGS NF
下一步我們更改主題,也就是colorScheme
你可以在這個網址找任何一個你順眼的主題
或是使用內建的主題
如果你使用第一個網址的主題,你會複製到類似這樣的東西
{"name": "OneHalfDark","black": "#282c34","red": "#e06c75","green": "#98c379","yellow": "#e5c07b","blue": "#61afef","purple": "#c678dd","cyan": "#56b6c2","white": "#dcdfe4","brightBlack": "#282c34","brightRed": "#e06c75","brightGreen": "#98c379","brightYellow": "#e5c07b","brightBlue": "#61afef","brightPurple": "#c678dd","brightCyan": "#56b6c2","brightWhite": "#dcdfe4","background": "#282c34","foreground": "#dcdfe4"}
將它們貼在設定檔的schemes裡
注意json格式! 不要漏了逗號或括號之類的!
Termianl的設定告一個段落!
安裝zsh和Powerlevel10k
安裝zsh
$ sudo apt install zsh
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安裝完後請重開一個Terminal
安裝相關套件
$ git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
設定套件
開啟~/.zshrc檔,找到以下行數並更改
# Use Powerlevel10k theme
ZSH_THEME="powerlevel10k/powerlevel10k"
# Use plugins
plugins=(zsh-autosuggestions zsh-syntax-highlighting)
//根據自己需求可以安裝不同的套件
如果沒反應就執行這個指令
p10k configure
接下來根據他的問題來回答並設定想要的效果、圖示等
完成之後你的終端機(WSL)就變成這樣啦
留言
張貼留言