Windows Subsystem for Linux 2 的艺术

一、前言
微软赛高!得益于其强大的技术支持,我们可以在 Windows 上无缝体验 Linux (Windows Subsystem for Linux) 甚至 Android (Windows Subsystem for Android) 。
将 WSL2 与 Jetbrains系列IDE 或 VS Code 结合,我们可以在 Windows 下无缝开发并调试 Linux 环境程序。
二、安装WSL2
1. 系统要求
笔者使用的是 Windows 11 专业版。

2. 启用 适用于Linux的Windows子系统
打开 启用或关闭Windows功能

启用 适用于Linux的Windows子系统

3. 更新 WSL 2 Linux 内核
下载并安装适用于 x64 计算机的 WSL2 Linux 内核更新包
4. 将 WSL 2 设置为默认版本
1 | wsl --set-default-version 2 |
5. 安装所选的 Linux 分发
这里以Ubuntu 20.04 LTS为例
你还可以选择
- Ubuntu 18.04 LTS
- openSUSE Leap 15.1
- SUSE Linux Enterprise Server 12 SP5
- SUSE Linux Enterprise Server 15 SP1
- Kali Linux
- Debian GNU/Linux
- Fedora Remix for WSL
- Pengwin
- Pengwin Enterprise
- Alpine WSL
- Raft(免费试用版)
打开Microsoft Store,搜索Ubuntu 20.04并安装

6. 配置账号
打开Ubuntu 20.04(可从Microsoft Store打开),配置用户名密码。

7. 修改安装目录
默认WSL位于C盘,如果使用频率较高的话,你会发现C盘占用空间蹭蹭往上涨~
这里笔者选择修改安装目录到D盘
1) 查看已安装的Linux发行版本
1 | wsl -l --all -v |

2) 导出Ubuntu到D盘
1 | wsl --export Ubuntu-20.04 D:\WSL2\WSL-Ubuntu20.04.tar |
3) 注销当前Ubuntu
1 | wsl --unregister Ubuntu-20.04 |
4) 将导出的文件重新导入并安装
1 | wsl --import Ubuntu-20.04 D:\WSL2\WSL-Ubuntu20.04 D:\WSL2\WSL-Ubuntu20.04.tar --version 2 |
5) 重新设置用户名(将$USERNAME修改为安装时的用户名,密码不变)
1 | ubuntu2004 config --default-user $USERNAME |
* Windows Terminal设置默认启动目录
1 | \\wsl.localhost\Ubuntu-20.04\home\$USERNAME |

6) 登录到WSL2

三、环境配置
1. 软件源修改为阿里源
使用Vim打开sources.list
1 | sudo vim /etc/apt/sources.list |
键入:%d
清空
粘贴阿里源代码
1 | deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse |
按Esc
,键入:wq
保存并退出
更新源并升级
1 | sudo apt-get update && sudo apt-get upgrade |
2. 开启Systemd
某些程序需要Systemd的支持,因此我们使用ubuntu-wsl2-systemd-script来开启。
安装git
1 | sudo apt-get install git |
克隆脚本仓库
1 | git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git |
跳转到ubuntu-wsl2-systemd-script
目录
1 | cd ubuntu-wsl2-systemd-script |
运行安装脚本
1 | bash ubuntu-wsl2-systemd-script.sh |
重启Ubuntu(宿主机终端执行)
1 | wsl --shutdown Ubuntu-20.04 |
再次登录到Ubuntu,验证Systemd
1 | systemctl |

如上图则配置成功
四、配置并使用宿主机代理
创建并编辑.proxyrc
文件
1 | vim .proxyrc |
输入以下代码($port
为宿主机代理端口,请自行修改)
1 | #!/bin/bash |
按Esc
,键入:wq
保存并退出
以后每次连接宿主机代理只需source .proxyrc
即可生效