Utility for opening files from the Windows Subsystem for Linux (WSL) in native Windows applications


Utility for opening files within the [Windows Subsystem for Linux][wsl] command
line in Windows GUI applications.
Just run wsl-open with the file/directory/URL that you want to open.
``bash
wsl-open { FILE | DIRECTORY | URL }
`
- FILE paths can be relative or absoluteDIRECTORY
- paths are the same, with a possible limitation*URL
- s must include the protocol (http://, https://, ftp://, etc) orwww
begin with , which is consistent with how xdg-open handles URLs
> *If using a WSL build without the wslpath (prior to Build 1803 - released
> April 2018), only Windows directories can be opened
`bashOpens in your Windows default image viewer
wsl-open image.png
$3
The real benefit of wsl-open is setting it as the default program in the
Windows Subsystem for a particular filetype. This allow you to use Linux's
standard
xdg-open utility to open files, and wsl-open will handle the rest!
This keeps your scripts platform agnostic.`bash
Set association for file type
wsl-open -a image.pngNow, you can open up any PNG with xdg-open, and wsl-open will handle it
xdg-open another_image.pngUnassociate wsl-open with a file type
wsl-open -d image.pngAssociate wsl-open with links (set wsl-open as your shell's BROWSER)
wsl-open -wNow URL's work as well!
xdg-open https://gitlab.com/4U6U57/wsl-openAnd this allows other programs that depend on xdg-open to use it as well!
npm repo wsl-open # Same as the previous command
`> Protip: I like to furthur generalize my scripts by setting
alias on my Linux machines, which make them behave more like macOS$3
For full details on how the script operates, feel free to check out the
[manpage][manpage] or [design specification][design]
Installation
$3
The easiest way to get it is to use the [Node Package Manager][npm] and install
it globally.
`bash
Get npm if you don't have it already
sudo apt-get install -yqq npmInstall
sudo npm install -g wsl-open
`$3
wsl-open is actually just a single, self contained bash script, so the bare
minimum installation is simply downloading the script (either by cloning the
repo or via
curl) and then adding it to your path. Here is an example:`bash
Make a bin folder in your home directory
mkdir ~/binAdd the bin folder to your PATH in your bashrc
echo '[[ -e ~/bin ]] && export PATH=$PATH:~/bin' >> ~/.bashrcDownload the script to a file named 'wsl-open'
curl -o ~/bin/wsl-open https://raw.githubusercontent.com/4U6U57/wsl-open/master/wsl-open.sh
``[wsl]: https://msdn.microsoft.com/en-us/commandline/wsl/about
[npm]: https://npmjs.com
[manpage]: MANUAL.md
[design]: DESIGN.md