Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

如果使用Windows 10 2004以上,可以通过WSL 2来窗口化运行桌面应用,也不需要另外安装其他的X 服务器。

WSL可能是目前最好的Linux解决方案,能和Windows系统互通文件并且内存占用很低。在众多的Linux发行版中,拥有最大软件仓库和极为便利的pacman包管理工具但是在实体机中很难安装(WSL中很容易)的Arch是一个很不错的选择。

1、启用WSL

先决条件:必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11

这部分阅读微软官方的WSL安装文档:

安装 WSL | Microsoft Docs

2、下载安装

ArchWSL(这是GitHub上的一个开源项目,否则就只能手动安装)

下载好后解压右键Arch.exe就会安装在安装文件所在目录

3、换源

archlinuxcn |清华开源镜像站使用帮助

archlinux | 清华开源镜像站使用帮助

终端中输入:

vim /etc/pacman.conf

或者在win文件管理器中打开pacman.conf

在pacman.conf文件最后加入:

[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

4、换源后

sudo pacman -Syy               #刷新源列表
sudo pacman -Syyu              #全面更新系统
sudo pacman -Sy archlinux-keyring  #导入key

5、设置普通用户登录

新建普通账户:

useradd -m -G wheel -s /bin/bash username

设置密码:

passwd username

授予管理员权限:
在/etc/sudoers中的root ALL=(ALL:ALL) ALL下添加:

username ALL=(ALL:ALL) ALL

运行:

sudo chown -R username /home/username/

然后在WSL的解压目录下使用powershell运行:

./arch.exe config --default-user Username  #设置普通用户为默认用户`

6、配置开发python环境

注意:无法调用图形化界面!

先安装VS Code window版

在VS Code里安装扩展Remote - ContainersRemote - SSHRemote - WSLPython

在WSL里输入code .安装vscode所需的包,然后再次输入打开vscode

安装常用软件以及依赖
sudo pacman -S python3

sudo pacman -S python-pip

sudo pacman -S zsh git vim curl wget proxychains-ng python3 python-pip
安装python常见包
pip3 -i https://pypi.douban.com/simple --upgrade tensorflow peewee flask

7、开始Python项目

创建项目
mkdir HelloWorld

创建的是位于wsl主目录下的文件夹

创建虚拟环境

在项目文件夹下执行:

python3 -m venv <envitonmentname>
激活虚拟环境:
source <envitonmentname>/bin/activate
停用虚拟环境:
deactivate

8、Windows下打开WSL目录

执行:

cd /home/  #cd到目标路径
explorer.exe .

9、WSL下打开VS Code

执行:

code .

注意:此处有空格和点

10、安装Windows终端

Windows Terminal

11、基本WSL命令(在power shell中执行)

安装特定的 Linux 发行版

wsl --install --distribution <Distribution Name>

列出可用的 Linux 发行版

wsl --list --online

列出已安装的 Linux 发行版

wsl --list --verbose

将 WSL 版本设置为 1 或 2

wsl --set-version <distribution name> <versionNumber>

设置默认 WSL 版本

wsl --set-default-version <Version>

设置默认 Linux 发行版

wsl --set-default <Distribution Name>

将目录更改为主页

wsl ~

通过 PowerShell 或 CMD 运行特定的 Linux 发行版

wsl --distribution <Distribution Name> --user <User Name>

更新 WSL

wsl --update

检查 WSL 状态

wsl --status

以特定用户的身份运行

wsl -u <Username>

wsl --user <Username>

更改发行版的默认用户

<DistributionName> config --default-user <Username>

关闭wsl

wsl --shutdown

将发行版导出到 TAR 文件

wsl --export <Distribution Name> <FileName>

导入新发行版

wsl --import <Distribution Name> <InstallLocation> <FileName>

注销或卸载 Linux 发行版

wsl --unregister <DistributionName>

Help 命令

wsl --help