Alterar a home do WSL para / mnt / c / Users / YourWindowsUser

1

O que estou tentando fazer

Eu tentei editar o diretório home do subsistema windows (no meu caso Ubuntu) para o meu usuário padrão no Windows. Por quê? Porque eu quero substituir o Cygwin ou pelo menos verificar se é viável substituir o Cygwin. Por favor, vamos nos concentrar no como, não no porquê. Também estou ciente de que comandar as janelas por meio do subsistema pode causar problemas de permissão de gravação / leitura no AFAIK.

Os problemas)

Eu tentei modificar o passwd com o vim, mas eu li que isso pode causar problemas e é muito mais seguro manipulá-lo por comandos. Felizmente o comando para o trabalho existe:

sudo usermod --home /mnt/c/Users/User CurrentUser

No entanto, quando eu entro, a saída é:

usermod: user CurrentUser is currently used by process 4

Mas: o processo 4 é bash.

User@Machinename:~$ ps -A
PID TTY          TIME CMD
  1 ?        00:00:00 init
  3 tty1     00:00:00 init
  4 tty1     00:00:00 bash
 39 tty1     00:00:00 ps
  1. Quando eu mato ( kill -9 4), o subsistema morre, obviamente.
  2. Quando tento alterar o usuário para root ( sudo -i), ele não lista CurrentUser quando eu digito whoou qualquer outro comando "who is logged in".

Alguém já descobriu como fazer isso, que quando eu entro cdno subsistema, isso me leva a /mnt/c/User/CurrentUser? O que estou fazendo de errado?

Nota : Este é um repost desta pergunta em SO desde que foi sugerido que eu possa encontrar uma resposta aqui se eu repostar isto. Vou apenas vinculá-lo caso alguém encontre um ou outro recurso e seja liderado aqui, já que o superusuário é o lugar certo para isso.

BlkPengu
fonte
Por que você postou a mesma pergunta e resposta no Stackoverflow e no Superusuário?
Biswapriyo 07/07/18
Porque foi colocado em espera lá ("você pode obter uma resposta no superusuário"), e minha resposta é mais ou menos documentação de uma possível solução, mas não ótima. Ainda quero saber como alterar um diretório inicial de usuários no WSL.
BlkPengu
1
A WSL está sob desenvolvimento atual, não suporta a permissão de arquivos corretamente no mundo Linux & Win. O Windows usa AppData e LocalAppData, mas o Linux não. Então, o seu procedimento pode colidir ambos os mundos fatalmente;)
Biswapriyo

Respostas:

0

Esta resposta não é ideal, apenas uma solução alternativa

A outra opção

Eu não descobri isso, no entanto, uma solução alternativa para alterar a raiz de usuários padrão seria criar um novo usuário com um diretório base diferente. Como não subscrevo uma abordagem, mas sim uma solução, esta opção foi satisfatória para o problema descrito.

Como pode ser feito

Isso pode ser feito digitando:

sudo useradd -m -d /mnt/c/Users/windowsUser YourNewUserName

Comutando o usuário:

Para o novo usuário: su - YourNewUserName

De volta ao padrão: su - YourDefaultUserName

Problemas circunstanciais

A troca de usuários requer privilégios de root. Se você não souber sua susenha ( que é diferente da sudosenha), digite:

sudo -i

e autenticar com sua sudosenha. Em seguida, defina a nova senha, com

passwd

Esta solução é IMO ainda melhor / mais limpo, uma vez que para controlar o seu usuário do Windows com o WSL facilmente, alternando os usuários para frente e para trás.

BlkPengu
fonte