Make WSL filesystem accessible from Windows
Access to the Windows filesystem from WSL is easy enough. Now we need access to the WSL filesystem from Windows.
Adding support for accessing Linux files from Windows (and correctly honoring permissions & preserving the necessary metadata etc.) is on the backlog. Avoid until further notice!
This is already possible on Windows 10 v1903.
Domingo Guzmán commented
Nicolas Keller commented
Can you please give us an update about this one? I have to keep my files on the wsl filesystem in order for several node.js processes to work correctly but then I can't use my Windows IDE (Visual Studio Code).
Could an update be provided for this? Last response is from 2016 and it's now 2018. There have been a number of changes since then that makes this ask much easier to accomplish than ever before.
Key note is "correctly honoring permissions & preserving the necessary metadata".
These are done.
Peter Hoyt commented
This is probably pretty hard, but I'm just gonna add my vote here particularly for the ability to modify text files with Notepad++, or at least implement nano. Software Carpentry is determined to make basic coding available to Windows users, and with Microsoft's terrific move in *nix space, this should a priority. Once students/learners realize that they can manipulate scripts as textfiles, confidence grows and they start to progress rapidly. Using GitHub (with recent changes in markdown standards) make this a little more difficult, and using a text editor should not be a bottleneck to learning. This isn't to demean what's out there, but I'm speaking as an advocate for the coder-wannabes (and there are a LOT of them). Maybe not making all windows files accessible is possible right now, but a couple text editors would go a long way IMHO (set up bash submission scripts, experimenting with regular expressions, checking configuration files...).
@Robert — thanks for providing the underlying reasoning. This issue has been plaguing me for a few nights, esp. that 'cached' bit.
Hopefully this gets some traction, it's the only thing preventing me from work.
Kasper F. Brandt commented
I haven't tried this, but what happens if you just set smbd up to bind to an alternative localhost address like 127.1.0.1, and then from explorer go to \\127.1.0.1? Then share the root as a samba share and from the windows side map that as a network drive.
Seems like it would be a really easy way to get this working quick by using existing technology.
Bojan Markovic commented
Maybe the filesystem should be "mounted" as a lettered drive when Lxss is installed. This way you could have the virtual filesystem driver for NT preserve permissions and metadata of files changed by windows apps.
Sebastu Leclerc commented
How come Notepad.exe is able to edit files on VolFS ??
Whereas more powerful editors (like Notepad++) make the files unreadable by WSL.
Is there a change that Notepad++ could implement to solve the issue or is technnically impossible?
Robert Stone commented
Yea, I already tried editing VolFs files from Windows. Bad idea! Theres a reason why the lxss directory is read-only and hidden!
The reasons why this doesn't work are:
1) VolFs uses extended attributes that are often blown away, or at least not added, by windows processes which are totally unaware of what WSL extended attributes would be added to a file.
2) Directories are cached because lxss assumes that it's the only thing reading and writing files.
So if you try to add a file from windows two things can happen: 1) there are no WSL extended attributes on the file which causes it to get ignored and 2) directory caching could cause it to not see the file for a while anyway even if it did have WSL attributes. Try to edit a file and WSL extended attributes get blown away, causing WSL to ignore it.
I'm guessing to make this work from Windows would require a special windows driver to maintain the WSL extended attrs and notify lxss of changes. So it sounds a bit complicated.
Sam James-Dickson commented
I can't even find them in %appdata% anymore, but maybe I'm missing something.
Yes, yes, yes! We know that the files are located at %localappdata%/lxss, but after editing from Windows, they often disappear in Ubuntu :(