[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的美化以及易用性配置,持续更新中;

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值