我想更改我在 Windows Subsystem for Linux 上最初设置的用户的主目录。我找到了这个命令
sudo usermod -d /mnt/c/Users/Alex alex
这应该允许这样做,但是我收到了这个错误
usermod: user alex is currently used by process 2
大概是因为我以该用户身份登录。我尝试通过执行sudo su -
然后再次运行命令来转为 root,但遇到了同样的问题。我尝试了在 Google 上找到的命令来alex
从 root 注销用户,但这也让我完全退出了 bash。
有什么想法吗?
答案1
使用 WSL 更改主目录的方式与在 Linux 中相同:
- 输入 bash
- 键入命令
sudo vim /etc/passwd
- 找到您的帐户行,它可能看起来像:
harry:x:1000:1000:"",,,:/home/harry:/bin/bash
- 使用 WSL 符号将主目录(上面的
/home/harry
)更改为新目录(如果要将 Windows 目录设置为主目录,则需要在其前面添加/mnt/
,例如/mnt/c
C:/、/mnt/d
D:/ 等) - 保存文件并退出 vim,输入
:wq
并按Enter - 退出 bash 并重新启动
- 要测试,请使用以下命令:
cd ~
pwd
如果您需要更多信息,请与我们联系。
答案2
截至 2021 年,有一种更好的方法可以以 root 身份登录并更改用户的主目录:
- 按
Win + R
- 进入
cmd /C wsl -u root
- 根终端将打开,现在您可以
usermod -d <path> <user>
毫无问题地使用该命令(例如usermod -d /mnt/c/Users/Alex alex
)
答案3
您可以尝试lxrun /setdefaultuser root
在命令提示符中运行,然后更改目录,然后将默认用户更改为 Alex。
答案4
当使用 answer by 时@harrymc您需要将 .bashrc 复制到您的新主目录。
cp <old_bashrc> ~