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
- Quando eu mato (
kill -9 4
), o subsistema morre, obviamente. - Quando tento alterar o usuário para root (
sudo -i
), ele não lista CurrentUser quando eu digitowho
ou qualquer outro comando "who is logged in".
Alguém já descobriu como fazer isso, que quando eu entro cd
no 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.
fonte
Respostas:
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
su
senha ( que é diferente dasudo
senha), digite:sudo -i
e autenticar com sua
sudo
senha. Em seguida, defina a nova senha, compasswd
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.
fonte