Altera 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.

O (s) problema (s)

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 digito, 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 who ou qualquer outro comando "who is logged in".

Alguém descobriu como fazer isso, quando eu insiro cd no subsistema, isso me leva a /mnt/c/User/CurrentUser ? O que estou fazendo errado?

Nota : este é um republicação desta questão no SO, uma vez que foi sugerido que eu possa encontrar uma resposta aqui se eu repostar. 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.

    
por BlkPengu 06.07.2018 / 23:20

1 resposta

0

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

A outra opção

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

Como isso pode ser feito

Este pode ser feito digitando:

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

Alternando o usuário:

Para o novo usuário: su - YourNewUserName

Voltar para o padrão: su - YourDefaultUserName

Problemas circunstanciais

A troca de usuários requer privilégios de root. Se você não sabe sua su senha ( que é diferente da senha sudo ), digite:

sudo -i

e autentique com sua senha sudo . Em seguida, defina a nova senha, com

passwd

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

    
por 06.07.2018 / 23:20