WSL2安裝筆記

前言

之前一度使用過WSL,但是由於各種不兼容,以及文件系統與Windows共享,導致無法進行Android源碼編譯(需要大小寫敏感的文件系統等),故一直使用雙系統的方案;

最近受到越來越多朋友的安利,說WSL2如何如何的爽;

於是,WSL2搞起!

步驟

以下步驟主要參考官網介紹:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10

藍色高亮部分是我遇到的坑,以及解決方案:

1. 以管理員模式運行PowerShell並輸入:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

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

完成後重啓電腦;

2. 下載WSL內核並安裝:(建議從官網鏈接跳轉下載,下方鏈接可能會失效)

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

3. 再次以管理員模式運行PowerShell並輸入:

wsl --set-default-version 2

4. 打開Microsoft Store,下載對應的Linux分發版本,我選擇的是Ubuntu;

5. 點擊獲取、安裝;

6. 安裝完成後點擊運行;

7. 在設置默認帳號密碼時,我遇到了如下問題:

Installing, this may take a few minutes...
The attempted operation is not supported for the type of object referenced.
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:



中文版報錯應該是:參考的對象類型不支持嘗試的操作。

解決方案二選一:

1. 關閉所有VPN,或基於VPN原理的各種加速器(比如UU加速器),然後命令行或者PowerShell中運行netsh winsock reset

2. 使用https://www.proxifier.com/tmp/Test20200228/NoLsp.exe中提供的可執行文件,在命令行或PowerShell中運行NoLsp.exe C:\windows\system32\wsl.exe

 

8. 在設置完成後,我進入Ubuntu,發現已經錯過新用戶添加的步驟了,只能默認以root用戶登錄;因此需要手動添加用戶:

以下命令在Ubuntu下以root用戶執行:

adduser ryan

然後按照提示輸入密碼與詳細信息即可;

用戶創建完成後,需要在PowerShell中再修改一下默認登陸的用戶:

ubuntu config --default-user ryan

重新登陸Ubunbu,即是默認使用ryan用戶登陸的狀態;

 

美化

安裝Windows Terminal

默認Ubuntu的終端只能是“能用”的狀態,完全無法滿足生產力需求,因此,使用更爲強大的終端則是下一步關鍵事務;

首先嚐試使用微軟最近熱推的Windows Terminal,安裝非常簡單,在Microsoft Store中搜索Windows Terminal即可找到:

安裝完成後打開,可以看到這玩意非常全能,PowerShell/CMD/WSL全支持:

快捷鍵與Ubuntu的Gnome Terminal基本一致,使用上手非常快;

將Windows Terminal添加到右鍵上下文菜單中

網上有比較全的內容,搜索“Windows Terminal 右鍵”即可,可能結果各有不同,但主要都是通過修改註冊表實現;

這裏講一個我使用的,也是自認爲最快、最原始的手動修改方法:

1. 運行regedit,即註冊表編輯器

2. 在註冊表編輯器中,找到如下路徑:HKEY_CLASSES_ROOT - Directory - Background - shell

3. 在該路徑下,創建一個Key,名爲wt;

4. 在該Key的default鍵中,編寫上下文菜單的名字,比如“Windows terminal here”

5. 再在wt下牀架一個子Key,名爲command;

6. 爲command下的default鍵中,寫上Windows terminal的可執行文件名(可以通過cmd或powershell嘗試,如果PATH變量是正確設置過的,這裏填wt.exe即可,否則需要輸入完整路徑)

最終結果如圖:

7. 然後,Windows terminal here選項應該就可以出現在目錄右鍵的上下文菜單中了;

8. 但是可以發現,目前無論在哪裏點擊右鍵,其打開的Windows Terminal都是$HOME變量定義的目錄;因此需要做如下修改:

9. 在Windows Terminal中打開Settings (設置),這是一個settings.json文件,或者通過如下路徑手動打開:

$HOME\AppData\Local\Packages\Microsoft.WindowsTerminal_***\LocalState\settings.json

打開後在list對應的項目下,追加"startingDirectory": null這一鍵值對,注意格式(可能需要在上一鍵值對後面添加逗號)

結果參考如圖:

10. 既然都改到了這裏,那麼把Windows Terminal默認開啓的類型也改了吧,默認是PowerShell,而我們安裝Windows Terminal主要是爲了使用WSL,因此可以將其默認改爲打開WSL終端;

修改是通過修改defaultProfile這一鍵值對實現的,值修改爲Windows Terminal的guid即可,例如我這裏就這麼修改:

"defaultProfile": "{2c4de342-38b7-51cf-b940-2309a097f518}",

後續使用右鍵打開Windows Terminal即是默認用WSL打開,且目錄爲當前目錄;

 

 

更多關於Windows Terminal的美化以及易用性配置,持續更新中;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章