mle*_*vit 55 users windows-subsystem-for-linux
我在 Windows 10 上安装了 WSL Bash 并将我的用户设置为例如“abc”,但现在我想将其更改为其他内容。
如何更改我登录的用户的用户名?
当我打开 bash 时,它会自动使用当前用户登录我。
小智 50
现在LxRun.exe已弃用,如果您从 Windows 商店安装 Ubuntu,则您需要的命令是
ubuntu config --default-user <username>
Run Code Online (Sandbox Code Playgroud)
重启 LxssManager 服务
sc stop LxssManager
sc start LxssManager
Run Code Online (Sandbox Code Playgroud)
小智 29
所有其他答案都有帮助,但也可以是其他场景,根据您的情况在此处进行操作。我的是 Ubuntu 16.04,所以我使用了以下内容:
ubuntu1604 config --default-user <username>
Run Code Online (Sandbox Code Playgroud)
如果您安装了 Ubuntu 18.04:
ubuntu1804 config --default-user <username>
Run Code Online (Sandbox Code Playgroud)
如果您使用默认值,则:
ubuntu config --default-user <username>
Run Code Online (Sandbox Code Playgroud)
Jac*_*ose 29
最佳答案( ubuntu config --default-user root) 当前对于默认实例是正确的。但是如果你有多个实例,你需要稍微努力一点:
在实例中,以 root 身份创建/编辑/etc/wsl.conf并添加以下几行:
[user]
default=username
Run Code Online (Sandbox Code Playgroud)
然后关闭它,wsl --terminate <distro name>在 PowerShell 中运行,然后重新启动它。
这是来自 WSL 存储库中的一个问题。注册表黑客的答案也在那里,但/etc/wsl.conf现在正式支持的解决方案。
小智 13
您可以通过在普通命令提示符 (cmd.exe) 中运行以下命令来更改 bash 的默认用户:
LxRun.exe /setdefaultuser <new_name>
Run Code Online (Sandbox Code Playgroud)
小智 13
如果您从 Microsoft Store 运行 Ubuntu 18.04,则命令(powershell 或 cmd)将为:
ubuntu1804 config --default-user <username>
Run Code Online (Sandbox Code Playgroud)
今天遇到的老问题,但答案需要更新和巩固才能最新(且正确)。
这个问题有两个部分,到目前为止,这里的每个答案都只涵盖其中一个部分。
第一个问题:
如何更改我登录的用户的用户名?
正如 @PJ127 正确指出的那样,第一步是实际更改Ubuntu中的用户名。这可以通过退出 WSL 并启动 PowerShell 最轻松地完成(现在,2021 年),然后:
wsl -l -v
wsl --terminate <distro> # <distro> from the previous command
wsl -u root -d <distro> # "-d <distro>" is only needed for non-default instances
# Now from in WSL
usermod -l newname oldname
# Optionally change the home directory name to match
usermod -d /home/doug -m doug
# Optionally change the group name to match
groupmod -n newname oldname
Run Code Online (Sandbox Code Playgroud)
然后是问题的第二部分,这是这里大多数答案试图涵盖的内容:
当我打开 bash 时,它会自动使用当前用户登录
有多种方法可以做到这一点,但Microsoft 在 2021 年推荐/记录的方法是 @Jacktose 回答的:
在您的 WSL 实例中,sudo editor /etc/wsl.conf包含以下内容:
[user]
default=username
Run Code Online (Sandbox Code Playgroud)
退出,然后从 PowerShell 退出,wsl --terminate <distro name>然后重新启动 WSL。
虽然该ubuntu.exe --config方法可行,但存在两个问题:
它并不总是“ubuntu.exe”。可执行文件的名称(技术上是“应用程序执行别名”)取决于您从应用商店安装的版本。多年来,Ubuntu 已推出多个 Store 软件包。每个受支持的版本(例如 等)都有一个包ubuntu2004.exe,而“当前”版本 ( ubuntu.exe) 则有一个包。虽然这是“Ask Ubuntu”,但alpine.exe如果您使用的是不同的发行版,也可能是“Ask Ubuntu”。
正如其他答案中所指出的,如果您安装了多个实例(这是 WSL 的一项很棒的功能),它也不起作用。它仅适用于第一个商店安装的实例。
当然,还有基于注册表的方法来更改默认名称,但由于我们有更安全、受支持的方法,所以我们甚至不在这里介绍这些方法。:-)
在命令中
查看您安装了哪些发行版
wslconfig /l
我有 Ubuntu,我想将默认用户设置为 root
ubuntu config --default-user root
文档: https ://docs.microsoft.com/en-us/windows/wsl/user-support
| 归档时间: |
|
| 查看次数: |
78893 次 |
| 最近记录: |