Installation
December 4, 2021 ยท View on GitHub
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.)
Installation
- 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"
Hints
As an upshot, the environment variables $BROWSER and $PDFVIEWER can be defined as under Linux, for example,
export BROWSER=firefox
export PDFVIEWER=mupdf
Imitate (XDG)-Open
To 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_open
This 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=start
File manager
As 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)")"'
Image Viewer
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'
Run Batch files in ZSH under WSL
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'