In Ubuntu I usually do
nautilus .
to open the current folder in the GUI.
How would I do this in Win10 WSL? Can you even launch window apps from the WSL command line?
In Ubuntu I usually do
nautilus .
to open the current folder in the GUI.
How would I do this in Win10 WSL? Can you even launch window apps from the WSL command line?
You can run nautilus
from WSL! This will let you manage the Linux file system.
This isn't exactly appropriate for this SE, because it's mostly a windows-related question, but here it is.
Nautilus and many other linux applications can be run on WSL as long as you have a Windows-based X11 server. X11 is the window system most of Linux relies on, but it can be installed on Windows too. X11 runs in client-server mode that decouples the calling client code from the server, so calls out of the WSL are pretty transparent.
Other things you can run with an X11 server include:
There are a few Windows-based X11 servers. Note that the server works using TCP, and by default it can accept connections from any IP, so you might want to restrict it in your firewall.
I use this one:
https://sourceforge.net/projects/vcxsrv/
Just put this in your .bashrc
/.zshrc
file:
export DISPLAY=localhost:0.0
Don't forget to sudo apt update
. Then sudo apt install nautilus
. Then
nautilus .
explorer.exe
You can invoke any Windows executable from the WSL, including explorer.exe
, the Windows file manager. You just need to type its full name (including the extension), and if it's a Win32 executable, it will start.
However, Windows applications run under Windows, not under WSL. They won't see the Linux file system, only the Windows one. While it's true that the Linux file system is mapped to files and folders in the Windows file system, this mapping is more-or-less an implementation detail. It's not recommended to modify the Linux file system from Windows.
You give explorer.exe
arguments, but note that you can't give it Linux paths because it's not a Linux application.
There is no command to map a Linux path to the corresponding Windows path and the path is usually pretty ugly. For example, the path to ~/.zshrc
might be:
C:\Users\[WINDOWS USERNAME]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\[LINUX USERNAME]\.zshrc
sudo
.
Feb 4, 2020 at 14:50
wslview
is the command you are most likely looking for, which is part of the WSL Utilities and pre-installed on most recend Ubuntu for Windows releases.
For example, opening a file explorer for the current directory:
wslview .
Open an html document in a web browser:
wslview readme.html
It functions pretty much like open
does on macOS terminals. In fact, I set an alias in my ~/.bashrc
file.
# open to match macOS-style use
alias open=/usr/bin/wslview
Which is useful since bash's open
doesn't seem to work correctly in WSL2 for me.