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


22

我想更改我最初在Windows Subsystem for Linux上设置的用户的主目录。我找到了这个命令

sudo usermod -d /mnt/c/Users/Alex alex

哪个应该允许这个,但是我收到了这个错误

usermod: user alex is currently used by process 2

大概是因为我以该用户身份登录。我试着去做 sudo su - 然后再次运行该命令,但我遇到了同样的问题。我尝试了在Google上找到的用于注销用户的命令 alex 从根本上,但也完全踢出了bash。

有什么想法吗?


您是否可以注销该帐户,以其他帐户登录,然后运行命令以查看您获得的结果?
Pimp Juice IT

注销该帐户将关闭Linux bash并返回Windows提示符。重新登录只是默认情况下在该用户中。并切换到root sudo su - 我仍然得到过程错误
Xeon06

我明白了,我假设您在登出该帐户时无法以另一个帐户登录Windows,然后在另一个帐户的bash中从该帐户运行bash命令?我还没有在Windows中设置bash,所以只考虑潜在的简单解决方案即使必须这样做会有点不方便,但如果它只是一次性的交易,那么它可能会起作用。虽然快速思考。
Pimp Juice IT

不幸的是,bash环境与当前用户Windows相关联,存储在%appdata%中。所以另一个用户将获得他们自己的bash环境
Xeon06

您可以通过在Windows(而不是bash)中执行来更改默认用户名 lxrun /setdefaultuser myusername
harrymc

Answers:


26

使用WSL更改主目录的方式与在Linux中完全相同:

  1. 输入bash
  2. 输入命令 sudo vim /etc/passwd
  3. 找到您的帐户行,可能如下所示:
    harry:x:1000:1000:"",,,:/home/harry:/bin/bash
  4. 更改上面的主目录 /home/harry,使用WSL表示法到新目录
  5. 保存文件
  6. 退出bash并重新启动它
  7. 要进行测试,请使用以下命令:
    cd ~
    pwd

如果您需要更多信息,请与我们联系。


我不知道WSL,我只是好奇:一般情况下它是安全的 vim /etc/passwd?在Linux中我们有 vipw 特别是对于这份工作。
Kamil Maciorowski

@KamilMaciorowski:我刚刚开始使用WSL,但我可以这么说 sudo /usr/sbin/vipw 与上面的第2点完全相同。更改 /etc/passwd 和在Linux上一样安全。也许更安全,因为破坏它不会影响Windows登录。
harrymc

谢谢!我不知道为什么我能找到编辑这个的唯一方法是通过 usermod
Xeon06

3
小心这一点 - 如果你离开主要假的linux文件系统,你会发现你无法正确编辑文件权限。
Hippyjim

0

你可以尝试跑步 lxrun /setdefaultuser root 在命令提示符下,然后更改目录,然后将默认用户更改为Alex。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.