- Veröffentlichungsdatum
Berechtigungsproblem in VSCode mit WSL
- Autoren

- Name
- Thomas Waldecker
So fing es an: Ich habe ein Verzeichnis aus wsl mit code . geöffnet und bekam im Source Control Bereich folgende Fehlermeldung:

The detected Git repository is potentially unsafe as the folder is owned by someone other than the current user.
Manage Unsafe Repositories
To learn more about unsafe repositories
read our docs.
Ich erinnere mich, dass ich schon öfter komischerweise Dateien von root zwischen den anderen Dateien hatte und das commiten oft nur noch aus Visual Studio code ging.

Es stellt sich heraus, dass ich nach dem Übernehmen des Diskimages aus dem kaputten Windows wohl einen anderen User in WSL hatte, als der, der die Dateien besaß. Das hatte ich damals behoben indem ich die Distribution mit dem -u Parameter gestartet habe. Wenn man dann aber Visual Studio Code mit code . startet, läuft der Prozess mit dem Standarduser der Distribution, das ist in dem Fall dann root.
C:\WINDOWS\system32\wsl.exe --distribution-id {eine-uuid} -u thomas
Die Lösung
Die Befehlszeile im Windows Terminal auf Standard zurücksetzen und in der /etc/wsl.conf den default user setzen:
cat /etc/wsl.conf
[boot]
systemd=true
[user]
default=thomas
Danach muss man WSL neu starten:
PS C:\Users\thomas> wsl --shutdown
Danach muss man noch den Besitzer der Dateien zurücksetzen:
sudo chown -R thomas:thomas *