AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 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

Como definir o usuário padrão para distribuição WSL instalada manualmente?

  • 772

Eu clonei uma distro WSL usando wsl --exporte wsl --import, mas agora, a execução wsl newdistrosempre me conecta como root. Entendo que o lxruncomando está obsoleto e desejo evitá-lo. Os documentos recomendam usar distroname.exe config, mas isso não funciona, pois este não possui um executável correspondente.

windows linux
  • 6 6 respostas
  • 36198 Views

6 respostas

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

    No momento em que este livro foi escrito, havia pelo menos três (vamos chamá-lo de 3.5) métodos diferentes para alterar/definir o usuário padrão em uma instância WSL importada. Embora os dois que já foram mencionados ainda funcionem, há uma maneira recomendada pela Microsoft de fazer isso que ainda não foi mencionada nesta pergunta.

    Método 1 -/etc/wsl.conf

    A maneira atual recomendada pela Microsoft de definir o nome de usuário em uma instância é criar um /etc/wsl.confna instância com a seguinte configuração:

    [user]
    default=username
    

    Alterar, é claro, o nome de usuário para ser seu nome de usuário padrão.

    Saia da sua distro/instância e emita um wsl --terminate <distroname>do PowerShell ou CMD. Ao reiniciar, o usuário padrão deve ser definido.

    Isso é mais seguro e menos sujeito a erros do que os métodos baseados em registro.

    Método 2 - Chave do Registro

    Definindo a chave do registro de acordo com a resposta de @harrymc .

    Método 3 - LxRunOffline

    Usando LxRunOffline para definir a entrada do registro, conforme descrito na resposta de @Jaime . Em última análise, isso tem o mesmo efeito do Método 2.

    Semimétodo 4 - Seleção do usuário em tempo de execução via wslargumento de linha de comando

    O nome de usuário pode ser selecionado ao iniciar qualquer instância WSL por:

    wsl -u usernameou wsl -d distroname -u username, etc

    Por exemplo, wsl -d Ubuntu -u root.


    Nota lateral: esta pergunta foi especificamente sobre como definir o nome de usuário padrão em uma instância importada . No entanto, para completar, você também pode definir o nome de usuário padrão para uma distribuição que foi instalada na Loja (ou wsl --install) com:

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

    Por exemplo, se você instalou o "Ubuntu 20.04" da Loja, você usaria:

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

    .exeAqui está um "Alias ​​de execução de aplicativo" no Windows . Você pode verificar o nome acessando "Gerenciar aliases de execução do aplicativo" nas Configurações do sistema do Windows.

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

    A sintaxe normal do comando é, por exemplo:

    ubuntu config --default-user new_user_name
    

    No entanto, isso não funciona para uma distro importada, que é iniciada pelo seguinte comando:

    wsl --distribution <DistributionName>
    

    Tente este método não documentado:

    • Use regedite navegue até a chave:
      HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss
    • Examine suas subchaves para uma distribuição que tenha o nome correto no itemDistributionName
    • Crie ou modifique um item DWORD nomeado DefaultUide defina-o para o ID do usuário (uid) do seu usuário padrão. Aqui o usuário root é o id 0enquanto o primeiro id do usuário é 1000 ( 0x3e8).

    Se isso não funcionar para sua configuração, você precisará executar como:

    wsl --distribution ubuntu -u user_name
    

    Para mais informações, veja :

    • Exportar e importar distribuição WSL Linux no Windows 10
    • Defina o usuário padrão para WSL no Windows 10 .
    • 18
  3. Jaime
    2021-02-20T09:00:34+08:002021-02-20T09:00:34+08:00

    Se você estiver instalando algumas distribuições personalizadas no WSL, não receberá um comando "distroname.exe" para alterar a configuração. Você pode usar LxRunOffline para alterar o usuário padrão. Este conjunto de ferramentas pode ser instalado no Windows usando choco install lxrunoffline.

    Obtenha o id de usuário padrão de uma distro

    LxRunOffline permite que você obtenha e defina o ID de usuário padrão ( uid) para quaisquer distribuições instaladas. Por exemplo, se você tiver uma distro nomeada newdistro, poderá verificar o usuário padrão usando gu(obter usuário padrão) e -ncom o nome da distribuição:

    lxrunoffline gu -n newdistro 
    

    O comando retorna um número, o ID do usuário padrão:

    • o rootusuário tem o 0ID de usuário
    • o usuário padrão criado durante a instalação possui o 1000ID do usuário.

    Defina o ID de usuário padrão para uma distro

    Se você deseja definir o rootcomo o usuário padrão, pode fazê-lo usando su(definir usuário padrão) com -ne o nome da distro e -vcom o id do usuário, ou seja, 0para o arquivo root.

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

    Se você estiver usando o Windows Terminal , poderá configurar um perfil para sua distribuição.

    Nas configurações de Perfis do Terminal do Windows, selecione o perfil da sua distro, clique na guia Geral e, abaixo Command line, você pode usar uma das opções recomendadas anteriormente para o wslcomando.

    Por exemplo, se você nomeou seu perfil Ubuntue seu nome de usuário é bob, você deve definir Command linecomowsl.exe -d Ubuntu -u bob

    Enquanto você está nisso, você pode configurar o Starting directory, também conhecido como aquele aberto por padrão quando você abre um terminal para sua distro com:

    \\wsl$\Distro\home\username

    Usando o exemplo anterior, para uma distro nomeada Ubuntue um nome de usuário bob, você definiria Starting directorycomo:

    \\wsl$\Ubuntu\home\bob

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

    Verifique o uid do usuário que você deseja definir como padrão em seu console Linux por 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:~$ 
    

    Verifique o nome da distro no Powershell por 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>
    

    Edite o registro no 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
    

    Já deve estar bom.

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

    Normalmente foi para o terminal do usuário root editar o .bashrc

    vim .bashrc
    

    Acrescente esta linha ao último

    su - $name
    
    • -1

relate perguntas

  • execute o contêiner do docker como root

  • Comunique-se com o daemon do Docker no Windows

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • Como alterar permanentemente Ctrl + C para Ctrl + K no CentOS 7?

  • atalho do shell da área de trabalho no painel lateral do explorer

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

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

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve