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?

Xeon06
fonte
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.

harrymc
fonte
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.

Joshua Merrill
fonte