362 votes

Quel est le répertoire d'accueil sur le sous-système Windows pour Linux ?

Quand je commence bash sur Windows Subsystem for Linux, il me dépose dans le répertoire

/mnt/c/Users/<username>

Quand je ls ce répertoire, je vois les répertoires Desktop , Documents etc. que je peux voir sont dans C:\Users\<username> en utilisant l'explorateur de fichiers de Windows. Puisque c'est là que se trouve le bash lancé, je m'attendais à ce que ce soit mon répertoire personnel, mais lorsque je tape soit cd o cd ~ Je suis amené à

/home/<username>

qui contient mon .bashrc , .profile etc. que je m'attends à trouver dans mon répertoire personnel sur une machine Linux. De plus, en entrant cd ../.. d'ici je peux voir les répertoires bin , etc et ainsi de suite, comme prévu sur une machine Linux.

J'ai deux questions concernant tout cela :

  1. Qu'est-ce que c'est exactement /mnt/c/Users/<username> par rapport à C:\Users\<username> ? Il semble qu'ils ne fassent qu'un alors qu'est-ce que c'est ? /mnt/c/ ?
  2. Comment puis-je visualiser les fichiers dans /home/<username> en utilisant l'explorateur de fichiers de Windows ? Non pas que je veuille vraiment le faire j'essaie juste de comprendre comment Windows organise ce sous-système pour Linux.

3 votes

13voto

A9S6 Points 1917

Cela dépend de la build de Windows sur laquelle vous êtes, pour moi en 2018 sur Windows 10 Pro 64-bit, version 1709 (OS Build 16299.522) et aussi version 1803 (OS Build 17134.165) l'emplacement est toujours :

C:\Users\<username>\AppData\Local\lxss

L'astuce est que lorsque vous êtes à C:\Users\<username>\AppData\Local vous ne verrez pas de lxss (à moins que vous n'ayez décoché la case "Masquer les fichiers protégés du système d'exploitation (recommandé)" dans les options de votre dossier).

Cependant, il suffit d'ajouter \lxss dans la barre d'adresse de l'explorateur Windows et vous serez dirigé vers le dossier.

(Note : j'ai fait no ont un %LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc ou tout autre élément similaire mentionné dans la réponse de Michael Bonds)

Update

Il s'avère qu'il y a un ancien WSL qui est ce que j'avais installé. Maintenant, WSL est fourni via une application du magasin Microsoft. Il existe des versions pour Ubuntu 18.04 LTS et maintenant aussi pour d'autres versions de Linux (par exemple Debian). Si vous voulez être à jour, vous devriez désinstaller l'ancien WSL et installer le Version du magasin Microsoft .

L'emplacement de votre dossier personnel dépend du type de WSL que vous avez installé. Avec la version du magasin Microsoft, il sera, comme indiqué dans d'autres réponses, situé à l'adresse suivante :

%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc \LocalState\rootfs

5voto

Serban Tanasa Points 113
  1. En utilisant la console WSL bash, dans votre répertoire personnel, créez un fichier avec un nom spécifique arbitraire tel que "test_here.txt".
  2. Puis, à l'aide de l'Explorateur Windows, recherchez dans le champ de recherche le fichier test_here.txt.
  3. Sur le fichier trouvé > clic droit > Ouvrir l'emplacement du fichier.

0 votes

J'ai essayé ça. Cela ne fonctionne pas. Je ne vois pas le fichier dans la recherche. Cependant, si je dépose le fichier dans /mnt/c/Users/<username>, cela fonctionne évidemment.

0 votes

J'ai essayé le WSL mais je ne l'utilise plus. Je ne l'ai pas trouvé très utile. (J'utilise cygwin quotidiennement, à la place de WSL, et je le trouve très utile). Je ne peux donc plus le vérifier, désolé ;)

0 votes

La recherche de rootfs fonctionne. Vous pouvez alors naviguer dans le système de fichiers d'unbuntu à partir de là.

2voto

Eamonn Kenny Points 151

Quatre étapes pour Windows 10 pro pour épingler votre $HOME Debian/Ubuntu/OpenSUSE au menu de démarrage de Windows :

  1. À partir du menu de démarrage, lancez l'Explorateur de fichiers
  2. Dans la barre d'adresse (pas la barre de recherche), tapez %LOCALAPPDATA%.
  3. Dans la barre de recherche, cherchez le nom de votre répertoire $HOME, dans mon cas c'était ekenny. Il y aura environ 3 versions de ceci mais vous voulez celle avec un chemin vraiment long.
  4. Faites un clic droit sur votre répertoire personnel et cliquez sur "Pin to Start".

Maintenant, vous avez votre répertoire personnel dans votre menu de démarrage. J'ai essayé de créer un raccourci mais ça ne mène nulle part de manière intelligible.

2voto

Kjetil S. Points 479

Sur mon installation (WSL Ubuntu sous l'"environnement de développement Windows 10" téléchargé à partir de https://developer.microsoft.com/en-us/Windows/downloads/virtual-machines ) le dossier AppData était caché par défaut. Il fallait donc le faire :

  • ouvrez l'explorateur Windows
  • aller à C:\Users\User\
  • sélectionnez view sur le meny
  • vérifier hidden items
  • alors le AppData apparaît sous C:\Users\User
  • et j'ai trouvé mon /home/user sous C:\Users\User\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_*\LocalState\rootfs\home\user (où * est probablement un code local ou un code dépendant d'une version quelconque)

Je ne sais pas pourquoi c'est caché comme ça.

1voto

WinEunuuchs2Unix Points 187

J'avais juste besoin de trouver /etc/environment J'utilise Ubuntu 16.04 et j'examine le stockage NTFS de Windows 10. Je l'ai trouvé ici :

C:\Users\USER_NAME\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\etc\environment
  • J'ai changé /mnt/c/ a C:\ pour la nomenclature Windows.
  • J'ai également modifié toutes les occurrences de / a \ pour la même raison.
  • Vous devez remplacer USER_NAME avec votre nom d'utilisateur Windows.
  • J'ai dû utiliser sudo -H Nautilus pour obtenir les permissions de visualiser les fichiers utilisateurs stockés dans le WSL.
  • JAMAIS mettre à jour vos fichiers Linux en WSL à l'aide d'une application Windows. Il va corrompre vos données Linux .

Du côté de Linux (Ubuntu 16.04) la nomenclature serait :

$ sudo cat /mnt/c/Users/USER_NAME/AppData/Local/Packages/CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc/LocalState/rootfs/etc/environment

PATH="/mnt/e/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export LIBGL_ALWAYS_INDIRECT=Yes
export DISPLAY=localhost:0.0

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X