Modifica della home directory dell'utente nel sottosistema Windows per Linux


26

Vorrei cambiare la home directory dell'utente che ho inizialmente impostato sul sottosistema Windows per Linux. Ho trovato questo comando

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

Il che dovrebbe consentire questo, tuttavia sto ricevendo questo errore

usermod: user alex is currently used by process 2

Presumibilmente perché ho effettuato l'accesso come quell'utente. Ho provato ad eseguire il root eseguendo sudo su -e quindi eseguendo nuovamente il comando ma ho lo stesso problema. Ho provato un comando che ho trovato su Google per disconnettere l'utente alexda root ma che mi ha anche cacciato completamente da bash.

qualche idea?


Non è possibile disconnettersi da quell'account, accedere come un altro account e quindi eseguire i comandi per vedere quale risultato si ottiene?
Pimp Juice IT

La disconnessione da quell'account chiude Linux bash e riporta al prompt di Windows. Il login di nuovo ti mette di default in quell'utente. E passando al root tramite sudo su -ottengo ancora l'errore di processo
Xeon06,

Vedo, suppongo che non puoi accedere a Windows come un altro account mentre sei disconnesso da quello, e quindi eseguire il comando bash da quell'account in bash per l'altro account? Non ho ancora installato bash in Windows, quindi pensare solo a potenziali soluzioni semplici anche se doverlo fare sarebbe un po 'scomodo, ma se fosse solo un affare una tantum, allora avrebbe funzionato. Pensieri rapidi solo però.
Pimp Juice IT

Sfortunatamente l'ambiente bash è legato all'utente corrente di Windows, memorizzato in% appdata%. Quindi un altro utente otterrà il proprio ambiente bash
Xeon06,

È possibile modificare il nome utente predefinito eseguendolo in Windows (non bash) lxrun /setdefaultuser myusername.
harrymc,

Risposte:


41

La modifica della home directory con WSL avviene come in Linux:

  1. Inserisci bash
  2. Digita il comando sudo vim /etc/passwd
  3. Trova la riga del tuo account, che potrebbe apparire come:
    harry:x:1000:1000:"",,,:/home/harry:/bin/bash
  4. Cambia la home directory, che è sopra /home/harry, nella nuova directory, usando la notazione WSL
  5. Salva il file
  6. Esci da bash e riavvialo
  7. Per testare, usa i comandi:
    cd ~
    pwd

Fammi sapere se hai bisogno di maggiori informazioni.


Non conosco WSL, sono solo curioso: in generale è sicuro solo vim /etc/passwd? In Linux abbiamo vipwsoprattutto per il lavoro.
Kamil Maciorowski,

@KamilMaciorowski: ho appena iniziato con WSL, ma posso dire che sudo /usr/sbin/vipwfa esattamente lo stesso del mio punto 2 sopra. Cambiare /etc/passwdè sicuro come farlo su Linux. Forse più sicuro perché distruggerlo non influisce sull'accesso a Windows.
harrymc,

Grazie! Non so perché l'unico modo in cui sono riuscito a trovare questa modifica fosse attraverso usermod.
Xeon06,

4
Fai attenzione: se esci dal file system Linux falso principale, scoprirai che non puoi modificare correttamente i permessi dei file.
Hippyjim,

@Hippyjim Sto affrontando lo stesso problema e scopro che questa risposta SO potrebbe aiutare (richiede Win 10 Insider Build 17063 e versioni successive).
Weekend

1

Puoi provare a eseguire lxrun /setdefaultuser rootnel prompt dei comandi, quindi modificare la directory, quindi modificare l'utente predefinito in Alex.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.