wsl为window子系统工具
安装WSL2
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
(PowerShell)- 等待重启系统即可
- 执行命令开启系统虚拟化:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
(PowerShell) - 等待重启系统
wsl --set-default-version 2
设置wsl默认版本,也就是新子系统安装时使用的wsl版本wsl -l -v
查看所有已安装子系统及其wsl版本wsl --set-version UbuntuXX 2
设置某个已安装子系统的wsl版本
- 下载安装文件4
Add-AppxPackage .\app_name.appx
使用PowerShell安装该文件q1- or 直接鼠标点击打开q1
- 等待系统初始化完成
- 设置用户名和密码
sudo su
切换到root用户(可选)sudo apt-get update
(apt更新)
wsl常用命令1
wsl --list
列出所有已安装系统wsl --unregsiter {system name}
卸载指定系统(system name即是上面命令返回的列表字符串)
- vscode搜索即可下载,安装完后点击左下角的图标(类似这样“><“的图标)
- 在子系统里进入到项目目录
code .
q2- 等待自动打开vscode
- 编写代码
cd /mnt/
- 即可看到挂载的目录
export ALL_PROXY="http://127.0.0.1:10809"
wsl -l -v
wsl --export Ubuntu-20.04 d:\ubuntu20.04.tar
wsl --unregister Ubuntu-20.04
wsl --import Ubuntu-20.04 d:\ubuntu d:\ubuntu20.04.tar --version 2
del d:\ubuntu20.04.tar
- 切换到root账户
sudo su
- root账户切换到普通账户
su - username
#!/bin/bash
host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ")
export ALL_PROXY="http://$host_ip:10809"
export HTTP_PROXY="http://$host_ip:10809"
export HTTPS_PROXY="https://$host_ip:10809"
export https_proxy="https://$host_ip:10809"
export http_proxy="http://$host_ip:10809"
export all_proxy="http://$host_ip:10809"
echo "proxy ip:$ALL_PROXY"
执行时需用source执行,否则无法生效
- 管理员方式执行
fsutil.exe file setCaseSensitiveInfo <path> enable
- 禁用则执行
fsutil.exe file setCaseSensitiveInfo <path> disable
- 查询则执行
fsutil.exe file queryCaseSensitiveInfo <path>
If you have downloaded the Appx file then extract it with any unzipping tool (for example 7zip) in a folder and run the ubuntu.exe in it.
在/etc/wsl.conf文件(没有则touch一个)里加入如下代码:
[interop]
enabled = true
appendWindowPath = true
q3.vscode 的remoteWSL 不能编辑root权限的文件3
ubuntu.exe config --default-user root
- 下载NoLsp.exe
- 管理员CMD/PowerShell执行
NoLsp.exe C:\windows\system32\wsl.exe
参考docker/for-win#6284
参考https://devblogs.microsoft.com/commandline/chmod-chown-wsl-improvements/
- 第一个方案就是把文件放在WSL自己的文件系统里
- 第二个就是采用官方的Chmod支持插件
执行bcdedit /set hypervisorlaunchtype auto
然后重启系统即可