1. WSL2环境准备与Ubuntu安装
第一次接触WSL2时,我也被它强大的兼容性惊艳到了。这个Windows Subsystem for Linux 2.0(WSL2)完美解决了开发者既需要Windows办公环境又需要Linux开发环境的痛点。下面我就把完整的配置流程拆解给你看。
首先确认你的Windows 10版本。按下Win+R输入winver,我建议版本号至少是1903(内部版本18362)以上。如果版本太低,先去Windows Update升级系统。这里有个小技巧:在设置→更新与安全→Windows预览体验计划中,选择Release Preview通道可以提前获取稳定更新。
以管理员身份打开PowerShell,依次执行以下命令:
# 启用Linux子系统功能 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # 启用虚拟机平台 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart执行完记得重启电脑。很多新手会忽略重启步骤,导致后续操作失败。重启后建议再次确认功能是否启用成功,可以在PowerShell中运行:
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux接下来安装WSL2内核更新包。微软官方下载地址可能会变,建议直接访问Microsoft Docs获取最新链接。安装过程很简单,双击运行下载的msi文件即可。完成后设置WSL2为默认版本:
wsl --set-default-version 2现在打开Microsoft Store搜索Ubuntu。建议选择最新的LTS版本(如Ubuntu 20.04 LTS),稳定性更有保障。安装完成后首次启动会提示设置用户名密码,这里要注意:输入密码时不会显示字符,这是Linux终端的正常行为。
2. 系统优化与磁盘迁移
默认安装的Ubuntu会占用C盘空间,对于开发环境来说很不友好。我推荐使用LxRunOffline工具进行迁移。先到GitHub下载最新release版本,解压后将exe文件所在目录添加到系统PATH环境变量。
查看已安装的发行版名称:
wsl -l -v记下你的Ubuntu发行版名称(比如Ubuntu-20.04),然后执行迁移:
LxRunOffline move -n Ubuntu-20.04 -d D:\wsl\ubuntu迁移完成后验证路径:
LxRunOffline get-dir -n Ubuntu-20.04在Ubuntu内部,建议先进行基础配置。更新软件源并升级现有包:
sudo apt update && sudo apt upgrade -y安装常用工具链:
sudo apt install -y build-essential git curl wget zsh内存优化是很多开发者忽略的点。在用户目录下新建.wslconfig文件(注意前面的点):
[wsl2] memory=8GB swap=4GB localhostForwarding=true这个配置会根据你的物理内存调整,建议内存分配不超过物理内存的70%。我16GB的笔记本设置8GB给WSL2运行大型项目就很流畅。
3. 图形界面配置实战
虽然命令行很强大,但有些场景还是需要GUI。实测下来,Xfce4+xrdp的方案最稳定。先在Ubuntu中安装必要组件:
sudo apt install -y xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils然后安装远程桌面服务:
sudo apt install -y xrdp sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini echo xfce4-session > ~/.xsession启动服务并设置开机自启:
sudo systemctl restart xrdp sudo systemctl enable xrdp在Windows端连接时有个小技巧:运行mstsc打开远程桌面连接,输入localhost:3390,在登录界面用之前设置的Ubuntu用户名密码登录。如果遇到黑屏问题,尝试在Ubuntu中执行:
sudo service xrdp restart图形界面下推荐安装这些实用工具:
sudo apt install -y gedit vim-gtk firefox对于中文用户,还需要安装中文语言包和输入法:
sudo apt install -y language-pack-zh-hans fcitx fcitx-googlepinyin4. CUDA开发环境搭建
在Windows端先安装NVIDIA驱动。到官网下载支持WSL2的驱动,注意选择"Windows Driver for WSL"版本。安装完成后不需要在Ubuntu中重复安装驱动。
更换国内源加速下载(以清华源为例):
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list sudo apt update安装CUDA Toolkit(以11.7版本为例):
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run sudo sh cuda_11.7.0_515.43.04_linux.run安装时切记取消勾选Driver选项!我们只需要安装CUDA Toolkit。
配置环境变量:
echo 'export PATH=/usr/local/cuda-11.7/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc验证安装:
nvcc --version如果显示CUDA版本号说明安装成功。还可以用官方示例测试:
cd /usr/local/cuda-11.7/samples/1_Utilities/deviceQuery sudo make ./deviceQuery最后安装cuDNN加速库。到NVIDIA官网下载对应版本的cuDNN Library for Linux,然后执行:
tar -xzvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz sudo cp cuda/include/cudnn*.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*5. 开发环境深度优化
Python环境推荐使用conda管理:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh安装完成后初始化conda:
~/miniconda3/bin/conda init source ~/.bashrc创建独立的CUDA开发环境:
conda create -n cuda-dev python=3.8 conda activate cuda-dev conda install -c conda-forge cudatoolkit=11.7 cudnn=8.2对于PyTorch用户,官方现在提供完善的WSL2支持:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117Docker在WSL2中的性能表现也很出色。先安装Docker Desktop for Windows,然后在设置中启用WSL2集成。在Ubuntu中可以直接使用docker命令:
sudo usermod -aG docker $USER newgrp docker docker run --rm hello-world最后推荐几个实用工具:
# 系统监控 sudo apt install -y htop neofetch # 开发工具 sudo apt install -y cmake ninja-build # 网络工具 sudo apt install -y net-tools dnsutils