我在 Windows 11 上使用 WSL 和 Ubuntu 20.04 LTS(Focal Fossa)。
在安装过程中,我想我输入了命令ubuntu --install
(在 VSCode 中),但在安装过程中遇到了一个问题。终端打开,要求输入 Linux 用户和密码,但随后它关闭了,因为其他应用程序启动了。
由于我从来没有机会设置我的默认用户密码,所以我打开了 CMD,如果我没记错的话,使用了命令ubuntu config --default-user root
。然后我返回到 Ubuntu shell 并输入命令来重置我的 Linux 密码。
此时我甚至还没有使用 VSCode。然而,当我打开 VSCode 时,它似乎仍然在 root 用户的帐户中。
我曾经mkdir
创建过一个文件夹但没有意识到我仍处于根目录中,如下所示:
root@Lokrheim:~/folder#
当我输入 时exit
,shell 就会关闭,就好像它正在退出应用程序而不是 root 用户的登录一样。无论我做什么,我的 VSCode 仍然保持为 root 用户。
如何在 WSL 上的 Ubuntu 中访问我的非 root 用户?
答案1
重新启动时出现问题,因为 shell 已打开,要求输入 Linux 用户和密码,但由于其他一些应用程序启动或发生其他事情,shell 被关闭
听起来你的安装已经中止,这可能让你没有根本没有默认用户。在这种情况下,WSL 默认使用 root 用户(无论发行版如何)。
选项 1:在 WSL 上重新安装 Ubuntu
如果你最近刚刚安装并没有任何文件如果你不介意在 Ubuntu 中丢失它,那么最好的解决方案就是重新安装该发行版,以便它正确完成。
为此,打开常规(非管理员)PowerShell 终端,然后...
wsl --unregister Ubuntu
ubuntu.exe
(附注:如果这是 Ubuntu 22.04,我建议使用ubuntu.exe install --gui=none
或ubuntu2204.exe install --gui=none
按照这个答案。
这将很快完成安装(因为它实际上不必重新下载 Store 包)并让您回到要求输入默认用户名和密码的点。
选项 2:手动重新创建用户
如果你做有文件并且需要恢复而无需重新安装,请参阅这个答案并查找“无需重新安装即可创建新的“默认”WSL 用户”。还可以使用下一步(设置默认 WSL 用户)在创建默认值后重置默认值。