在命令终端输入:
wsl
启动wsl2后发现默认用户不是一开始创建的用户:
这里登录的是root@Mjc用户,而不是我一开始创建的用户,因为我的conda环境都在里面。
deepseek分析:
原因分析
-
默认以 root 用户登录
WSL 某些发行版(如 Ubuntu)在首次安装时默认以root
用户启动,尤其是未在初始化阶段设置普通用户时。 -
未配置默认用户
如果安装时跳过了用户创建步骤,或未手动修改默认用户配置,系统会始终以root
身份登录。 -
启动命令强制使用 root
若通过wsl -u root
或类似命令启动,会直接进入 root 用户环境。
解决方法:
步骤 1:确认是否存在你的用户名xxx
在 WSL 中执行以下命令,检查是否已创建该用户:
cat /etc/passwd | grep xxx # xxx是你一开始创建的用户名
我发现返回结果存在。
步骤2.设置xxx为默认登录用户
在 WSL 中执行以下命令(需 root 权限):
echo -e "[user]\ndefault=xxx" >> /etc/wsl.conf # xxx为用户名
步骤 3:重启 WSL 使配置生效
1.退出当前 WSL 会话:
exit
2.在 Windows PowerShell 中重启 WSL:
wsl --shutdown
wsl # 重新启动
验证是否生效:
启动 WSL 后,用户名应变为 xxx@Mjc
,路径显示为 /home/xxx
(而非 /mnt/c/...
)。