Ubuntu auf WSL verwendet standardmäßig den Root-Benutzer

Ubuntu auf WSL verwendet standardmäßig den Root-Benutzer

Gestern war alles gut. Heute Nachmittag habe ich meinen Computer neu gestartet, nachdem einige Dateidownloads von meinem Kurs meinen Laptop überlastet hatten. Beim Neustart und Öffnen von Ubuntu wurde standardmäßig root@<mysystem>:~#. Ich kann, su <username>aber dann wird dieser Benutzer standardmäßig auf das /rootVerzeichnis gesetzt. Sogar unter diesem Benutzer funktionieren Befehle wie explorer.exeund code .zum Öffnen von VSCode nicht.

Ich verwende Ubuntu auf WSL 1

Antwort1

Ich hatte das gleiche Problem, nachdem ich die WSL von Laufwerk C auf Laufwerk D verschoben hatte. Dies ließ sich leicht beheben mit -

ubuntu config --default-user <your-username>

Hoffe das hilft.

Antwort2

Schritte zur Fehlerbehebung, die mir einfallen (und die ich in diesem Fall ausprobieren würde):

  • Existiert Ihr normales Benutzerverzeichnis /home/<username>noch?

  • Wenn ja, sieht darin alles „normal“ aus, wenn man es als Root-Benutzer betrachtet? Gehören die darin enthaltenen Dateien unter anderem Ihrem normalen Benutzer oder Root? Wenn sie Root gehören, könnte dies ein Problem sein, an dem wir weiter arbeiten müssen.

  • Starten Sie Ubuntu mit:

    wsl ~ -u <Ubuntu_username> -e bash --noprofile --norc
    

    Wenn Sie dadurch als dieser Benutzer angemeldet werden (Ihre Eingabeaufforderung wird anders sein), dann stimmt wahrscheinlich etwas nicht mit Ihrer Datei ~/.bashrc(es könnte sich jedoch um eine andere Datei handeln).

  • Wenn der obige Befehl nicht funktioniert, fügen Sie Ihrer Frage in einer Bearbeitung alle Fehlermeldungen oder Ergebnisse hinzu. Überprüfen Sie dann, ob der Benutzer in der /etc/passwdDatei vorhanden ist.

  • Randbemerkung: Der Grund, warum das explorer.exenicht funktioniert, ist wahrscheinlich, dass su <username>der Pfad des Benutzers über „Linux“-Methoden festgelegt wird, aber wenn Sie Ubuntu „normal“ auf WSL starten, fügt WSL den Windows-Pfad zum Linux-Pfad hinzu. su <user>Versuchen Sie nach der Verwendung, es auszuführen /mnt/c/WINDOWS/explorer.exe– ich gehe davon aus, dass es funktioniert, aber bestätigen Sie die Ergebnisse (so oder so) in einem Kommentar oder (vorzugsweise) einer Bearbeitung Ihrer Frage.

  • Sie erwähnen in den Kommentaren WSL1, das ein anderes Dateisystem als WSL2 verwendet und etwas „fragiler“ ist. Sie erwähnen, dass Sie ein Problem mit einem Dateidownload hatten, als Sie neu starten mussten. Besteht die Möglichkeit, dass Sie versucht haben, die Dateien direkt herunterzuladen, C:\Users\<youruser>\AppData\Local\Packages\...um sie in Ubuntu zu bekommen? Wenn ja, dannkönnte das Home-Verzeichnis beschädigt haben. Wenn Sie \\wsl.localhost\Ubuntuoder verwendet haben \\wsl$\Ubuntu, sollte das kein Problem sein.

    Ich bin mir jedoch nicht sicher, ob ich zu dieser Schlussfolgerung springen und mit der „Wiederherstellung“ beginnen möchte, es sei denn, wir schlagen mit allen oben genannten Diagnosen wirklich fehl. Lassen Sie mich jedoch wissen, ob die Möglichkeit besteht, dass Sie den AppDataPfad zum Zugriff auf WSL1 verwendet haben, damit wir dies berücksichtigen können, wenn wir weitere Probleme beheben müssen.

verwandte Informationen