WSL2 Ubuntu 22.04 开发环境配置指南
WSL2 Ubuntu 22.04 开发环境配置指南
在上一期文章中,我们已经完成了 WSL(Windows Subsystem for Linux)的安装以及 Ubuntu 22.04 操作系统的安装。本期将继续深入,对刚安装好的 Ubuntu 环境进行一系列基础配置,包括新建用户、设置默认登录用户、修改主机名、查看安装位置、切换镜像源、资源配置以及 pyenv 安装等,帮助你将 WSL 环境打造为一个高效、安全的开发工作区。
一、新建用户并配置权限
默认安装完成后,系统只有一个 root 用户,直接使用 root 账户进行操作存在安全风险。建议创建一个普通用户,并将其加入 sudo 组以便在需要时提权。
1. 创建新用户
在 WSL 终端中执行以下命令,创建用户 “myname” 并自动创建其家目录:
adduser myname
系统会提示设置密码及填写用户信息,按提示完成即可。
2. 添加 sudo 权限
将新用户加入 sudo 组,使其拥有管理员权限:
usermod -aG sudo chen
此后,该用户在执行需要管理员权限的命令时,只需在命令前加上 “sudo” 即可。
二、设置 WSL 默认登录用户
安装完成后,每次打开 WSL 终端默认以 root 用户登录。我们可以将其修改为刚才创建的普通用户。
编辑配置文件
在 WSL 终端中执行:
sudo vim /etc/wsl.conf
在文件中写入以下内容并保存:
[user]
default=myname
重启 WSL
修改完成后,需要重启 WSL 使配置生效。在 Windows PowerShell 中执行:
wsl --shutdown
三、修改主机名
默认情况下,WSL 的主机名可能不够直观,且每次重启可能被自动覆盖。我们可以通过修改配置文件来固定主机名。
第一步:配置 wsl.conf 锁定主机名
在 WSL 终端中执行:
sudo vim /etc/wsl.conf
如果文件为空,直接粘贴以下内容:
[network]
hostname = myhostname
generateHosts = false
generateResolvConf = false
如果文件已有内容,请将其中的 hostname 修改为期望的名称,并确保 generateHosts = false 存在。
第二步:修改 hosts 文件
由于关闭了自动生成(generateHosts = false),需要手动将回环地址映射到新的主机名,否则 sudo 命令可能会变慢或报错。
执行:
sudo vim /etc/hosts
找到包含 127.0.0.1 和 ::1 的两行,将行尾的主机名改为你的主机名,例如:
127.0.0.1 localhost myhostname
::1 localhost myhostname
保存退出后,执行 wsl --shutdown 重启 WSL 使配置生效。
四、查看 Ubuntu 安装位置
了解 Ubuntu 系统文件存储在哪个磁盘分区,有助于后续进行磁盘空间管理和迁移操作。
方法一:使用 PowerShell 命令查看(推荐)
以管理员身份打开 PowerShell,执行以下命令查看已安装的发行版列表:
wsl -l -v
记下输出中 NAME 一栏显示的发行版名称(如 Ubuntu 或 Ubuntu-22.04)。
接着,运行以下命令查看该发行版的具体安装路径:
(Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq 'Ubuntu-22.04' }).GetValue("BasePath")
如果返回的路径以 C:\ 开头,说明系统安装在 C 盘。
方法二:迁移到 D 盘
如果 Ubuntu 安装在 C 盘且 C 盘空间紧张,可以将其迁移到 D 盘。
使用 wsl --manage --move 直接移动(推荐,适用于 Windows 11 22H2 及以上版本)
首先关闭 WSL:
wsl --shutdown
然后执行迁移命令,将发行版名称和目标路径替换为实际值:
wsl --manage Ubuntu-22.04 --move D:\WSL\Ubuntu
该命令会自动将整个发行版移动到指定位置,耗时较短且操作简便。
五、切换清华源
默认的软件源可能下载速度较慢,切换为清华大学镜像源可以显著提升软件包的安装速度。
执行以下命令,备份原配置文件并写入清华源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak && sudo tee /etc/apt/sources.list > /dev/null <<EOF
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
EOF
切换完成后,建议执行 sudo apt update 更新软件包列表以验证源是否生效。
六、查看 WSL2 资源配置
WSL2 的资源配置直接影响开发体验,了解当前资源使用情况有助于进行合理调优。
1. 查看配置文件(你设置的值)
WSL2 的全局配置文件位于 Windows 侧:
C:\Users\你的Windows用户名\.wslconfig
可以在 WSL 终端中通过以下命令查看:
cat /mnt/c/Users/你的Windows用户名/.wslconfig
或在 Windows 文件资源管理器中直接进入该目录打开查看。
文件若不存在可以直接新建
内容示例:
[wsl2]
memory=24GB
processors=6
swap=16GB
2. 查看 WSL 实际生效的限制(运行时的值)
在 WSL 终端内部执行以下命令:
- 查看当前可用内存和总量:
free -h,输出中的 total 列显示 WSL 当前被允许使用的最大内存。 - 查看 CPU 核心数限制:
nproc,显示 WSL 当前可用的处理器核心数。 - 查看交换分区大小:
swapon --show,显示当前激活的交换文件路径和大小。
3. 查看 WSL 全局状态
在 Windows PowerShell 中执行:
wsl --status
会列出 WSL 2 的内核版本和当前配置摘要。
七、32GB 内存电脑的内存分配建议
对于配备 32GB 物理内存的电脑,WSL2 的内存分配需要权衡 Windows 主机和 Linux 子系统之间的资源分配。
| 设置值 | 后果分析 | 推荐度 |
|---|---|---|
| 32GB(全给) | 极其危险。Windows 主机本身需要内存运行系统、杀毒软件、显卡驱动等。如果 WSL 占满 32GB,Windows 会因无内存可用而直接卡死、蓝屏或强制结束 WSL 进程。 | ❌ 禁止 |
| 20GB | 安全且充裕。为 Windows 预留了 12GB,足够运行 Chrome、IDE、后台服务。WSL 编译大型项目(如 Linux 内核、LLVM)也基本够用。 | ✅ 推荐(保守型) |
| 24GB | 性能最佳点。为 Windows 预留 8GB 是绝大多数 32GB 用户的黄金比例。WSL 能获得 75% 的物理内存,跑大型容器(Docker)和 AI 模型都很顺畅。 | ✅ 推荐(激进型) |
| 16GB | 如果你发现编译或运行大程序时卡顿,可以提高到 20~24GB。当前 8GB 确实偏低。 | ⚠️ 偏低(建议提高) |
结论:强烈不建议设置 32GB,推荐设置 20GB~24GB 之间。
在 .wslconfig 文件中添加以下配置即可限制 WSL2 的最大内存使用:
[wsl2]
memory=20GB
八、pyenv 安装
pyenv 是一个 Python 版本管理工具,可以方便地在多个 Python 版本之间自由切换,并支持为不同项目创建独立的虚拟环境。本节介绍在 WSL Ubuntu 22.04 环境中安装和配置 pyenv 的完整步骤。
1. 安装依赖
在安装 pyenv 之前,需要先安装编译 Python 所需的系统依赖包:
sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
libffi-dev liblzma-dev
2. 下载 pyenv
使用 git 将 pyenv 克隆到当前用户的家目录 ~/.pyenv 下。这里使用 Gitee 镜像源以加速下载:
git clone https://gitee.com/mirrors/pyenv.git ~/.pyenv
3. 安装 pyenv-virtualenv 插件
pyenv-virtualenv 是 pyenv 的虚拟环境管理插件,安装后在进入含有虚拟环境的目录时会自动显示前缀,方便区分当前使用的 Python 环境。
mkdir -p ~/.pyenv/plugins
wget https://codeload.github.com/pyenv/pyenv-virtualenv/zip/refs/heads/master
mv master master.zip && unzip master.zip
mv pyenv-virtualenv-master ~/.pyenv/plugins/pyenv-virtualenv
4. 配置环境变量
将 pyenv 的路径和初始化命令添加到 ~/.bashrc 文件中,使 shell 能够识别 pyenv 命令:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc
5. 使用虚拟环境
安装指定版本的 Python 并创建虚拟环境。这里以 Python 3.9.23 为例,使用清华镜像源下载源码包以加速安装:
mkdir -p ~/.pyenv/cache
wget https://mirrors.tuna.tsinghua.edu.cn/python/3.9.23/Python-3.9.23.tar.xz -P ~/.pyenv/cache/
# 以对应python版本创建一个虚拟Python环境ohos
pyenv virtualenv 3.9.23 ohos-env
# 设置当前目录的python环境,会生成.python-version
pyenv local ohos-env
6. 验证安装
执行以下命令验证 Python 版本是否正确:
python3 --version # 必须输出 Python 3.9.23
九、结语
本文对 WSL 安装 Ubuntu 22.04 后的基础配置进行了系统性的梳理,涵盖了用户管理、主机名设置、安装位置查看与迁移、镜像源切换、资源配置以及 pyenv 安装等核心配置步骤。完成以上配置后,你的 WSL 开发环境将更加安全、高效且易于管理。
在下一期文章中,我们将在此基础上进一步安装常用开发工具(如 Git、Vim、Docker 等),打造完整的开发工作流。敬请期待!
更多推荐

所有评论(0)