更改 Windows Subsystem for Linux 上用户的主目录

更改 Windows Subsystem for Linux 上用户的主目录

我想更改我在 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 中相同:

  1. 输入 bash
  2. 键入命令 sudo vim /etc/passwd
  3. 找到您的帐户行,它可能看起来像:
    harry:x:1000:1000:"",,,:/home/harry:/bin/bash
  4. 使用 WSL 符号将主目录(上面的/home/harry)更改为新目录(如果要将 Windows 目录设置为主目录,则需要在其前面添加/mnt/,例如/mnt/cC:/、/mnt/dD:/ 等)
  5. 保存文件并退出 vim,输入:wq并按Enter
  6. 退出 bash 并重新启动
  7. 要测试,请使用以下命令:
    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> ~

相关内容