Alterando o diretório inicial do usuário no Windows Subsystem for Linux


24

Gostaria de alterar o diretório inicial do usuário que eu configurei inicialmente no Windows Subsystem para Linux. Eu encontrei este comando

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

O que deve permitir isso, no entanto, estou recebendo esse erro

usermod: user alex is currently used by process 2

Presumivelmente porque estou logado como esse usuário. Eu tentei fazer root fazendo sudo su -e executando o comando novamente, mas recebo o mesmo problema. Eu tentei um comando que encontrei no Google para desconectar o usuário alexda raiz, mas isso também me expulsou completamente do bash.

Alguma ideia?


Você não pode sair dessa conta, fazer login como outra conta e executar os comandos para ver qual resultado você obtém?
— Pimp Juice IT

O logout dessa conta fecha o Linux bash e retorna ao prompt do Windows. O login apenas coloca você por padrão nesse usuário. E alternando para o root sudo su -, ainda recebo o erro do processo #
— Xeon06

Entendo, presumo que você não possa fazer login no Windows como outra conta enquanto estiver desconectado dessa e, em seguida, execute o comando bash a partir dessa conta no bash para a outra conta? Ainda não configurei o bash no Windows, portanto, apenas pensar em possíveis soluções simples, mesmo que isso seja um pouco inconveniente, mas se for apenas um contrato único, talvez funcione. Apenas pensamentos rápidos.
— Pimp Juice IT

Infelizmente, o ambiente do bash está vinculado ao usuário atual do Windows, armazenado em% appdata%. Então outro usuário terá seu próprio ambiente de festa
— Xeon06

Você pode alterar o nome de usuário padrão executando no Windows (não no bash) lxrun /setdefaultuser myusername.
— harrymc

Respostas:


37

A alteração do diretório inicial com o WSL é feita da mesma maneira que no Linux:

  1. Digite bash
  2. Digite o comando sudo vim /etc/passwd
  3. Encontre a linha da sua conta, que pode se parecer com:
    harry:x:1000:1000:"",,,:/home/harry:/bin/bash
  4. Altere o diretório inicial, que acima é /home/harry, para o novo diretório, usando a notação WSL
  5. Salve o arquivo
  6. Saia do bash e reinicie-o
  7. Para testar, use os comandos:
    cd ~
    pwd

Entre em contato se precisar de mais informações.


Não sei a WSL, estou apenas curioso: em geral, é seguro apenas vim /etc/passwd? No Linux, temos vipwespecialmente para o trabalho.
— Kamil Maciorowski

@KamilMaciorowski: Acabei de começar com a WSL, mas posso dizer que sudo /usr/sbin/vipwfaz exatamente o mesmo que o meu ponto 2 acima. Mudar /etc/passwdé tão seguro quanto fazê-lo no Linux. Talvez mais seguro porque destruí-lo não afeta o logon do Windows.
— harrymc

Obrigado! Não sei por que a única maneira de encontrar para editar isso foi através usermod.
— Xeon06

4
Tenha cuidado com isso - se você sair do sistema de arquivos linux principal falso, verá que não poderá editar as permissões de arquivo corretamente.
— Hippyjim

@ Hippyjim Estou enfrentando o mesmo problema e descobri que essa resposta SO poderia ajudar (requer o Win 10 Insider Build 17063 e acima).
— Fim de semana

1

Você pode tentar executar lxrun /setdefaultuser rootno prompt de comando, alterar o diretório e alterar o usuário padrão para Alex.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.