01 WSL2 安装
1.1 启动WSL
- 以管理员身份启动Terminal
- 运行如下命令
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
1.2 启动虚拟机平台
- 以管理员身份启动Terminal
- 运行如下命令
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- 重启电脑,使得配置完成。
1.3 下载 Linux内核更新程序包
下载直接运行安装即可。
1.4 设置WSL2默认值
wsl --set-default-version 2
1.5 安装Ubuntu-22.04LTS
- 打开Microsoft Store,搜索
Ubuntu 22.04.2 LTS
。 - 直接安装即可。
- 这里会安装到C盘,之后可将其打包移动到其他位置。
- 如果下载进度条没有变化,可暂停后再次开始。
- 安装完毕后打开即可,初次启动较慢,需设置用户名和密码。
(命令行ubuntu2204
可启动)
1.6 更改安装位置
- 将分发导出为tar文件,如下命令。
wsl --export Ubuntu-22.04 D:\Ubuntu-22.04.tar
- 将原分发从C盘中彻底卸载并删除。
wsl --unregister Ubuntu-22.04
- 从tar文件导入分发到指定位置(
D:\WSL
)
wsl --import Ubuntu-22.04 D:\WSL D:\Ubuntu-22.04.tar
至此,安装位置移动完毕(可删除D盘下的tar文件)。
02 WSL配置相关
2.1 常用工具安装
## 先更新apt-get
sudo apt-get update
## C++ 开发环境
#(包含g++ gcc gdb 等常用工具)
sudo apt-get install build-essential
# cmake
sudo apt-get install cmake
2.2 更改默认登录用户
WSL默认登录用户为root
,需要手动切换到自己的用户,这里修改默认用户。
# 首先关闭所有wsl
wsl --shutdown
# 设置子系统<Distro>的默认登录用户为<username>
<Distro> config --default-user <username>
# 例如:
Ubuntu2204 config --default-user <username>
2.3 修改WSLls
Windows下文件夹是的绿色底色
消除WSL中ls Windows文件夹时背光配色的方法_wsl 颜色_天色微凉的博客-CSDN博客
- 将如下内容添加到
~/.bashrc
中 (配色方案,其中将绿色背景色删去;具体见上博客)
LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS
- 当然,为了不使得
~/.bashrc
中内容过于混乱,也可采用如下方法:- 将上述内容写入一个新建文件``~/.dircolors`中;
- 在
~/.bashrc
中添加如下命令:source ~/.dircolors
3 Windows VSCode 连接 WSl2
3.1 配置
开始通过 WSL 使用 VS Code | Microsoft Learn
- 官方的教程很详细,按步骤操作即可。
- 总得来说,即更新子系统、安装VSCode插件
WSL
、在VSCode中通过插件选择连接WSL子系统; - 注意,如果在子系统中操作Windows系统下的文件,IO速度较慢。
3.2 bug
在wsl中使用 code . 打开vscode问题_microsoft vs code/bin/code: 46: cannot create /tmp
解决权限问题,运行如下命令:
# remote-wsl-loc.txt所在目录请根据自己的报错进行调整
$ sudo rm -f /tmp/remote-wsl-loc.txt
$ code .
04 WSL 常用命令
- 查看wsl命令帮助
wsl --help
wls -h
- 查看微软提供的可用子系统
wsl --list --online
- 查看当前所有子系统运行状态
wsl -l -v
- 安装子系统
wsl --install --distribution <Distro>
# 或者简写为
wsl --install -d <Distro>
# 例如
wsl --install -d Ubuntu-22.04
- 设置为默认子系统(可使用wsl命令启动)
wsl --set-default <Distro>
# 或简写为
wsl -s <Distro>
- 设置默认wsl版本 (1或2)
wsl --set-default-version <Version>
- 设置某子系统wsl版本
wsl --set-version <Distro> <Version>
- 查看子系统信息(wsl版本,分发类型,内核版本)
wsl --status
- 进入某个子系统
# 进入默认子系统
wsl
# 进入微软提供的子系统、
# 直接输入子系统名 <Distro>
<Distro>
# 进入名为<Distro>的子系统
wsl -d <Distro> <command>
# 在运行命令时指定用户 ,<Username> 如 root
wsl -d <Distro> --user <Username> <command>
- 关闭子系统
# 关闭某个子系统
wsl --terminate <Distro>
# 或简写为
wsl -t <Distro>
# 关闭所有子系统
wsl --shutdown
- 卸载某个子系统
wsl --unregister <Distro>
参考
如何在 Windows 10 上安装 WSL 2 - 知乎 (zhihu.com)
全网最详细搭建Win10+WSL2+Ubuntu-22.04LTS+CUDA+Xfce4+noVNC个人工作站