Many GUI (graphical user interface) applications on Linux have corresponding versions on Microsoft Windows, such as chromium, digikam, firefox, thunderbird, gimp, goldendict, gvim, inkscape, krita, libreoffice, mupdf, mpv, okular, scribus, smplayer, vlc and zeal.
This repository contributes small Shell scripts to start these (GUI) applications from the Git BASH or WSL (Windows Subsystem for Linux) shell just like from a Linux shell.
(Provided that their executables have been installed either into the path proposed during installation, or into a directory whose path is listed in the Microsoft Windows environment variable %PATH% --- conveniently set by, say, Rapidee.)
- Clone this repository into
~/binbymkdir -p ~/bin && cd ~/bin && git clone https://github.com/Konfekt/win-bash-gui-bins. - The paths of the shell scripts have to be added to the environment variable
$PATH. For this, add to your~/.profile(for Bash, or~/.zshenvfor ZSH) the following line for Git BASH
[ -z ${MSYSTEM+x} ] || export PATH="${PATH:+"$PATH:"}$HOME/bin/win-bash-gui-bins"respectively, for WSL,
[ -z ${WSLENV+x} ] || export PATH="${PATH:+"$PATH:"}$HOME/bin/win-bash-gui-bins"As an upshot, the environment variables $BROWSER and $PDFVIEWER can be defined as under Linux, for example,
export BROWSER=firefox
export PDFVIEWER=mupdfTo imitate xdg-open (and open from MacOS) under WSL,
xdg_open() { eval cmd.exe /c /start /b "$(wslpath -aw "$1")"; }
alias xdg-open=xdg_open
alias open=xdg_openThis lets you, for example, open the current work dir in Windows Explorer by open ..
For a more thorough solution, put the bash script wsl-open.sh into a folder listed in your $PATH environment variable, mark it executable and alias (xdg-)open to its file path.
Under Git-Bash, the following aliases suffice:
alias xdg-open=start
alias open=startAs a file manager, install totalcommander to start it by totalcmd.
To open the current work dir in by an alias, say o. :
command -v totalcmd >/dev/null 2>&1 && alias o.='totalcmd /O /T /R="$(winpath -aw "$(pwd)")"'As an alternative to an image viewer such as feh or sviv on Linux, install irfanview to start it by iv.
If you use ZSH, then to view an image file by entering its path on the command line, define a suffix alias :
command -v iv >/dev/null 2>&1 && alias -s {tiff,raw,jpg,jpeg,png,gif,bmp}='iv'If you use ZSH under WSL, then to start Batch (and CMD) files as under Windows, define a suffix alias
wslbatch() { eval cmd.exe /c "$(wslpath -aw "$1")"; }
alias -s {cmd,bat}='wslbatch'