❧ WSL2使用说明
一、Windows Termimal 设置 WSL默认打开目录
{ "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl", "startingDirectory": "//wsl$/Ubuntu/home/difei/"}二、WSL手动设置DNS
- 首先
sudo vim /etc/wsl.conf添加内容为:
[network]generateResolvConf = false-
保存以后 Powershell 或 Windows Terminal 内
wsl --shutdown关机WSL,然后重新打开WSL -
/etc目录下删除软连接
rm resolv.conf -
sudo vim /etc/resolv.conf手动设置新的DNS即可:
nameserver 172.22.16.1- 重启试一下,手动设置的DNS已经生效
三、动态获取DNS设置代理
在文件 ~/.bashrc 最下方添加以下内容:
# 翻墙代理设置export windows_host=`cat /etc/resolv.conf | grep nameserver | awk '{print $2}'`export ALL_PROXY=http://$windows_host:10809export HTTP_PROXY=$ALL_PROXYexport HTTPS_PROXY=$ALL_PROXY
# git代理if [ "`git config --global --get proxy.https`" != "socks5://$windows_host:10808" ]; then git config --global proxy.https socks5://$windows_host:10808fi执行 source ~/.bashrc 使配置生效
四、WSL迁移
- 首先打开PowerShell窗口,输入命令
wsl -l -v查看已安装的子系统,显示如下:
Windows Subsystem for Linux Distributions:Ubuntu (Default)- 导出wsl
wsl --export Ubuntu D:\WSL\Ubuntu.tar- 注销待迁移的wsl
wsl --unregister Ubuntu- 新位置导入wsl
wsl --import Ubuntu D:\WSL\Ubuntu D:\WSL\Ubuntu.tar- 迁移后WSL的默认用户变成了root,可切换默认用户
ubuntu config --default-user difei- 完毕!
五、WSL设置
- 启动目录
{ "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl", // 启动目录 "startingDirectory": "//wsl$/Ubuntu/home/difei"}- 背景图像 自定义背景图像和图标时要记住的最有用的 URI 方案是:
| URI 方案 | 相应的物理路径 | 使用描述 |
|---|---|---|
ms-appdata:///Local/ | %localappdata%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\ | 计算机文件 |
ms-appdata:///Roaming/ | %localappdata%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState\ | 常见文件 |
"defaults": { "backgroundImage": "ms-appdata:///Roaming/5812cf7189d5fbef2f0c5ccc86108914.jpeg", "backgroundImageOpacity": 0.25, "useAcrylic": false, "acrylicOpacity": 0.5}六、vhdx方法移动硬盘
虚拟文件系统路径会有一个名为【ext4.vhdx】的文件
- 创建注册表
lxss.reg
Windows Registry Editor Version 5.00
[HKEY_USERS\【SID】\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{【UUID】}]"State"=dword:00000001"DistributionName"="【子系统名称】""Version"=dword:00000002"BasePath"="【虚拟文件系统所在文件夹路径】""Flags"=dword:0000000f"DefaultUid"=dword:000003e8SID查询:
whoami /USER
例如:
Windows Registry Editor Version 5.00
[HKEY_USERS\S-1-5-21-2992538072-3000541683-241254537-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{4dc0958f-8f73-412a-8474-f45175104931}]"State"=dword:00000001"DistributionName"="Ubuntu""Version"=dword:00000002"BasePath"="D:\\WSL2\\Ubuntu""Flags"=dword:0000000f"DefaultUid"=dword:000003e8-
双击执行即可
-
应用商店安装
Windows Terminal -
运行
wt打开Ubuntu看是否正常运行 -
code命令找不到解决办法:echo $PATH查看环境变量code的二进制文件路径是否正确vi ~/.profile在文件尾末添加行export PATH="$PATH:/mnt/c/Users/22236/AppData/Local/Programs/Microsoft VS Code/_/bin"source ~/.profile刷新环境变量code .此时已经可以正常打开项目