AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1566022
Accepted
schuelermine
schuelermine
Asked: 2020-07-05 03:25:34 +0800 CST2020-07-05 03:25:34 +0800 CST 2020-07-05 03:25:34 +0800 CST

如何为手动安装的 WSL 发行版设置默认用户?

  • 772

我已经使用wsl --exportand克隆了一个 WSL 发行版wsl --import,但是现在,运行wsl newdistro总是让我以 root 身份登录。我知道该lxrun命令已被弃用并希望避免它。文档建议使用distroname.exe config,但这不起作用,因为这个没有相应的可执行文件。

windows linux
  • 6 6 个回答
  • 36198 Views

6 个回答

  • Voted
  1. Best Answer
    NotTheDr01ds
    2021-02-20T13:16:25+08:002021-02-20T13:16:25+08:00

    在撰写本文时,至少有三种(我们称之为 3.5)在导入的 WSL 实例中更改/设置默认用户的不同方法。虽然已经提到的两个仍然有效,但微软推荐的一种方法尚未在此问题中提及。

    方法1 -/etc/wsl.conf

    当前Microsoft 推荐的在实例中设置用户名的方法是在实例中创建一个/etc/wsl.conf具有以下设置的:

    [user]
    default=username
    

    当然,将用户名更改为您的默认用户名。

    退出您的发行版/实例,然后wsl --terminate <distroname>从 PowerShell 或 CMD 发出。重新启动时,应设置默认用户。

    这比基于注册表的方法更安全且不易出错。

    方法 2 - 注册表项

    根据@harrymc 的回答设置注册表项。

    方法 3 - LxRunOffline

    使用LxRunOffline设置注册表项,如@Jaime 的回答中所述。最终这与方法 2 具有相同的效果。

    半方法 4 - 通过wsl命令行参数选择运行时用户

    在启动任何 WSL 实例时,可以通过以下方式选择用户名:

    wsl -u username或wsl -d distroname -u username等

    例如,wsl -d Ubuntu -u root.


    旁注:这个问题专门关于在导入的实例中设置默认用户名。但是,为了完整起见,您还可以为从商店(或wsl --install)安装的发行版设置默认用户名:

    <distro>.exe config --default-user <username>
    

    例如,如果您从商店安装了“Ubuntu 20.04”,您将使用:

    ubuntu2004.exe config --default-user <username>
    

    这.exe是 Windows 中的“应用程序执行别名”。您可以通过转到Windows 系统设置中的“管理应用程序执行别名”来检查名称。

    • 53
  2. harrymc
    2020-07-05T04:32:00+08:002020-07-05T04:32:00+08:00

    正常的命令语法例如是:

    ubuntu config --default-user new_user_name
    

    但是,这不适用于通过以下命令启动的导入发行版:

    wsl --distribution <DistributionName>
    

    试试这个未记录的方法:

    • 使用regedit并导航到键:
      HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss
    • 检查其子项以查找在项目中具有正确名称的分布DistributionName
    • 创建或修改名为的 DWORD 项并将DefaultUid其设置为默认用户的用户 ID (uid)。这里 root 用户是 id0而第一个用户 id 是 1000 ( 0x3e8)。

    如果这对您的设置不起作用,您需要运行为:

    wsl --distribution ubuntu -u user_name
    

    有关更多信息,请参阅:

    • 在 Windows 10 中导出和导入 WSL Linux 发行版
    • 在 Windows 10 中为 WSL 设置默认用户。
    • 18
  3. Jaime
    2021-02-20T09:00:34+08:002021-02-20T09:00:34+08:00

    如果您在 WSL 中安装一些自定义发行版,您将不会获得“distroname.exe”命令来更改配置。您可以使用LxRunOffline更改默认用户。此工具集可以使用choco install lxrunoffline.

    获取发行版的默认用户 ID

    LxRunOffline 允许您获取和设置uid任何已安装发行版的默认用户 ID ( )。例如,如果您有一个名为的发行版,您可以使用(get default user) 并使用发行版的名称newdistro检查默认用户:gu-n

    lxrunoffline gu -n newdistro 
    

    该命令返回一个数字,即默认用户的用户 ID:

    • root用户拥有用户0ID
    • 安装期间创建的默认用户具有1000用户 ID。

    设置发行版的默认用户 ID

    如果您想将 设置root为默认用户,您可以使用su(set default user)-n和发行版的名称,以及用户 ID ,-v即0.root

    lxrunoffline su -n newdistro -v 0
    
    • 1
  4. beeThree
    2021-05-18T21:58:19+08:002021-05-18T21:58:19+08:00

    如果您使用的是Windows 终端,那么您可以为您的分发配置配置文件。

    在Windows 终端的配置文件设置中,选择您的发行版配置文件,然后单击常规选项卡,然后您可以使用之前推荐的命令选项之一。Command linewsl

    例如,如果您命名您的个人资料Ubuntu并且您的用户名是bob,那么您将设置Command line为wsl.exe -d Ubuntu -u bob

    当您使用它时,您可以配置Starting directory,也就是当您为您的发行版打开终端时默认打开的那个:

    \\wsl$\Distro\home\username

    使用前面的示例,对于名为的发行版Ubuntu和用户名bob,您将设置Starting directory为:

    \\wsl$\Ubuntu\home\bob

    • 1
  5. SoloKyo
    2022-06-20T18:45:33+08:002022-06-20T18:45:33+08:00

    通过以下方式验证要在Linux 控制台中设置为默认用户的 uid id:

    username@host:~$ id
    uid=1000(username) gid=1000(username) groups=1000(username),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),117(netdev),1001(docker)
    username@host:~$ 
    

    通过以下方式验证Powershell中的发行版名称wsl -l -v:

    PS C:\WINDOWS\system32> wsl -l -v
      NAME                   STATE           VERSION
    * ubuntu-20.04           Running         2
      docker-desktop-data    Running         2
      docker-desktop         Running         2
    PS C:\WINDOWS\system32>
    

    在Powershell中编辑注册表:

    Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\*\ DistributionName | Where-Object -Property DistributionName -eq ubuntu-20.04  | Set-ItemProperty -Name DefaultUid -Value 1000
    

    现在应该好了。

    • 1
  6. Jooio
    2021-02-05T23:21:38+08:002021-02-05T23:21:38+08:00

    一般去root用户终端编辑.bashrc

    vim .bashrc
    

    将此行附加到最后一行

    su - $name
    
    • -1

相关问题

  • 以 root 身份运行 docker 容器

  • 在 Windows 上与 Docker 守护进程通信

  • 如何在域和 Linux 活动目录中启用指纹传感器

  • 如何在CentOS 7 中将Ctrl+C 永久更改为Ctrl+K?

  • 资源管理器侧面板中的桌面外壳快捷方式

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve