If you'd like to chat about the Windows Subsystem for Linux (or have a question) please use the gitter chat linked above. If you are looking for guidance on getting started with Bash on Ubuntu on Windows, check the Ubuntu Repo.
A community powered list of programs that work (and those that don't) on the Windows subsystem for Linux. The official Microsoft repository for filing bugs, etc., is located at Microsoft's BashOnWindows repo. This repo complements the offical one by providing a quick reference for how well programs run.
Please feel free to contribute programs you have tested to the table below. If you need help with the markdown, please review this markdown primer from gamejolt.
To contribute, please make a Pull Request; I will merge if it looks good! If you have never made a pull request, it is fast and easy. Please check out the Github documentation.
Then add your program below!
If you need to add more details about a program, add a +
symbol to its name and add it to the Program_Details.md file.
Because this list is community powered, the maintainer does not hold any responsibility for the accuracy of the contents of this repository. Your mileage may vary.
Program Name | apt name | Functionality rating (0-5) | website | Notes | Windows Build # |
---|---|---|---|---|---|
ADB | 2 | developer.android.com | Installs; see this image for example, requires adb on Windows too. | ||
Anaconda | 4 | Continuum.io | Simple commands work after getting listed WSL build, symlinks issue has been fixed | 14393 | |
Apache server | apache2 | 2 | httpd.apache.org | Must use a loopback for networking, buggy | |
Apache SINGA | 4 | singa.apache.org | Only CPU version is supported. | ||
apt | 5 | wiki.debian.org/Apt | Works fine | 16299.19 | |
apt-fast | 3 | ilikenwf/apt-fast | Simple commands work. Needs more testing | 15063.138 | |
archey | 3 | djmelik/archey | Works for the most part, but displays disk usage incorrectly | 15063.138 | |
aria2c | aria2 | 3 | aria2.github.com | Does not resolve domains, must use IP addresses. Possibly c-ares related | 14901.1000 |
arp | arp | 0 | /proc/net/arp: No such file or directory | ||
arp-scan | arp-scan | 0 | https://github.com/royhills/arp-scan | link_open: Address family not supported by protocol | |
AWeather | aweather | 0 | http://pileus.org/aweather/ | Crashes on launch due to OpenGL error. | 17764.55 |
bash+ | 3 | gnu.org/software/bash | Most functionality exists but there are problems with scripts | ||
blackfire | blackfire-agent | 5 | blackfire.io | 16299.15 | |
boost | 5 | boost | 16299.125 | ||
byobu | 3 | byobu.co | Need to toggle the byobu charmap (run /usr/lib/byobu/include/toggle-utf8 or export BYOBU_CHARMAP=x ; . ~/.bashrc ). Status bar occasionally disappears. |
14901.1000 | |
c-ares | libc-ares2 | 0 | c-ares/c-ares | Does not resolve domains to ip addresses. | 14901.1000 |
cargo | 4 | rust-lang/cargo | Correctly recognizes and downloads dependencies on basic projects. Needs testing with larger projects. | 14393.67 | |
curl | 4 | curl/curl | curl -sS tested | ||
chromium-bsu | 0 | chromium-bsu.sourceforge.net | Completely Fails to Launch | ||
composer | 5 | getcomposer.org | doesn't seem to have issues, but could use more test. | ||
cmake | 4 | cmake.org | Seems to work perfectly, though more testing needed. | ||
Coq | 4 | coq.inria.fr | Installed without issue, needs more testing. | 14393 | |
docker | 3 | docker.com | Using Docker for Windows it's possible to get the client working in WSL using the instructions here | ||
Electron (and any apps based on it) | 3 | electron.atom.io | Some apps will install, but not run. Some will not install at all. Any app that uses Chrome 53 or later as it's backend should in theory work, no promises | 16275 | |
eclipse | 4 | http://eclipse.org | occasional crashes handled internally | 17134.68 | |
emacs | 5 | gnu.org/software/emacs | with latest WSL and Ubuntu Xenial works great in terminal mode and over X. | 16251 | |
fakeroot | fakeroot | 3 | works if configured to communicate over TCP | 15063 | |
firefox | firefox | 5 | mozilla.org/firefox | Runs, without reporting any errors whatsoever, unless you bump into the negative monotonic clock problem that causes all gthread-based applications to crash. | 15063 |
fish | 5 | fish.sh | works fine | ||
fortune | 5 | wikipedia - Fortune | works fine | ||
fsharp | 4 | fsharp.org | Installed without issue, needs more testing. To use fsi (F# Interactive) fsharpi |
14393 | |
gazebo | 3 | gazebosim.org | Very laggy tested. Requries X11 server like VcXsrv and setting a few environment variables | ||
gcc | build-essential | 4 | gcc.gnu.org | Runs as expected, more testing needed | 16299.19 |
gedit | gedit | 5 | wiki.gnome.org/Apps/Gedit | Works just fine after X Server configuration. Will throw some Dbus errors, but doesn't seem to affect performance. Can read and write files to Linux and Windows | 16275 |
ghc | ghc | 4 | Haskell on Bash haskell.org/ghc | Needs more tests | 15031 |
gimp | gimp | 5 | gimp | Seems to work just fine. Can read and write files to both Linux and Windows. Xming freezes, VcXsrv works fine | 16275 |
git | 4 | git-scm.com | requires more testing, Basics work (clone, pull, push, fetch commit). Diff has some errors | 16299.19 | |
gnokii | gnokii | 0 | useless without USB | 17134.68 | |
GNOME Web | epiphany-browser | 4 | How-to | Works fine but the video is choppy | 14393 |
GNUStep Terminal | gnustep-terminal | 3 | displays bold as tiny | 17134.68 | |
gphoto2 | gphoto2 | 0 | useless without USB | 17134.68 | |
gnuplot | gnuplot | 5 | gnuplot | Fitting data and plotting/displaying graphs of functions working fine. The qt terminal throws the following error the first time it plots: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-<username>' Warning: slow font initializationgnuplot> qt_processTermEvent received a GE_fontprops event. This should not have happened , but works fine. Requires a x11 server to display plots. |
17134.228 |
golang | golang-go | 3 | Golang | golang-go gets 1.6 which is not the latest version. Needs more testing | 15031 (Xenial) |
gparted | 4 | gparted.org | Window opens and can be interacted with, but it can't find any devices. | ||
The GNU Privacy Guard | gpg | 4 | gnupg.org | See #130 | 17763.503 |
grep | 4 | wikipedia - grep | WARNING: PASSWORD MAY BE SHOWN IN PLAINTEXT;requires more testing see this issue for more. | ||
GSpdf | gnustep-gspdf | 5 | 17134.68 | ||
GWorkspace | gnustep-gworkspace | 3 | problems with fonts and icons, manageable | 17134.68 | |
haxe | 5 | Haxe Foundation PPA | Compiles programs correctly, haxelib works fine too | ||
heroku | 5 | Heroku CLI | Installs and works as expected, tested app listing, logs, setting config | ||
hpx | 5 | [ste | ar-hpx](https://stellar-group.org) | ||
htop | 5 | hisham.hm/htop | Works as expected, though only lists processes running under WSL, not under Windows. CPU and Memory usage stats are accurate. | 16299.19 | |
i3 | 4 | i3wm.org | Works fine under VcXsrv Server 1.19.2.0 without -multiwindow command line option. Added export DISPLAY=:0 to .bashrc |
15063.138 | |
ifconfig | 4 | wikipedia - ifconfig | Seems to work fine | 15063.138 | |
ip | 4 | man ip | Seems to work fine | 15063.138 | |
ircii | 5 | eterna.com.au/ircii | Seems to work Flawlessly | ||
irssi | 5 | irssi.org | Seems to work flawlessly | ||
iwconfig | 0 | wiki.debian.org/iwconfig | Unable to Access Network Interfaces (Should be localhost for all connections) | ||
java 8 | 2 | oracle.com/java | Runs at minimum, seems to have some functionality at least | ||
java 7 | 2 | oracle.com/java | Seems to work well, if laggy. | ||
Jupyter Notebook | 5 | jupyter.org | Seems to work well. Requires a browser such as FireFox. | ||
k3b | k3b | 1 | limited use without hardware access | 17134.68 | |
kakoune | 5 | kakoune.org | Works great, needs to be built from source | ||
kio_camera | kio-extras5 | 0 | useless without USB | 17134.68 | |
krita | krita | 0 | krita.org | Cannot connect to X server (tested with Xming). Further testing required. | |
ltrace | ltrace | 5 | Seems to work Flawlessly | ||
lua | lua5.2 | 3 | Lua | Just tested with interpreter. Needs more tests | 15031 (Xenial) |
lynx | 5 | lynx.invisible-island.net | seems to work entirely | ||
mount | 2 | man mount | unable to mount iso/cd-rom files | ||
Maude | 4 | maude.cs.uiuc.edu | Installed without issue, needs more testing | ||
make | 3 | gnu.org/software/make | basic scripts working, needs more extensive testing. Tabbing for commands gets broken pipe | ||
Meteor | 5 | meteor.com | Seems to work just fine. Can build and serve apps, create apps, and reads and writes to Windows and Linux | 16275 | |
Metasploit | 4 | metasploit.com | Seems to work as expected. | ||
MLton | 0 | mlton.org | BSOD | 14393 | |
Mongo Client | 4 | docs.mongodb.com | Works well connecting to mongod windows service | ||
Mono | mono-complete | 4 | mono-project.com | Supported (more info). Instructions added to official documentation. Use 4.2 for now or 4.6 when released (4.4 has issues) | |
Minecraft | 0 | mincraft.net | Crashes during boot with an error from OpenAL - Known Issue | ||
Minecraft Launcher | 3 | minecraft.net | Seems to work correctly, but is incredibly laggy. | ||
mysql | 4 | mysql.com | Seems to work flawlessly | 15063.138 | |
mtr | 0 | wikipedia - mtr | doesn't run | ||
nano | 4 | nano-editor.org | Functions and displays correctly | 16299.19 | |
nasm | 4 | nasm.us | more testing needed | ||
netcat | netcat-openbsd | 5 | works as expected | 17134.68 | |
nethack | 4 | nethack.org | Need to run it from the /usr/games directory with "./nethack" and the default config it runs has numpad turned off so you have to use the unintuitive: y k u h l b j n | ||
nginx+ | 4 | ngix.com | Can't bind to IPv6 | 15063.138 | |
nmap | 0 | nmap.org | AF_Netsock options not implemented #1349 | ||
node.js | nodejs | 4 | nodejs.org | Seems to work fine. Runs the React VR hello world project perfectly. | 15063.138 |
nuget | 3 | nuget.org | requires more testing | ||
npm | 4 | npmjs.com | some packages fail due to permissions - Default version is VERY old. | ||
nvm | 5 | nvm | Script to install newer versions of NPM and NodeJS. | ||
OCaml | 4 | ocaml.org | Works fine with Core, needs more testing. | 15063.540 | |
octave | 3 | GNU Octave | GUI opens with X11, command line calculations are fine, plotting has libgl errors | ||
OpenCoarrays | 4 | opencoarrays.org | Installed from source but needs more testing. See the OpenCoarrays install instructions for more details | ||
OpenFOAM | openfoam5 | 5 | openfoam.org | Works well and comes with Paraview, which has working X11 GUI | |
OpenRCT2 | 0 | openrtc2.org | Fails with errors to do with Sharing Memory with X, Possibly due to VcXsrv. | ||
osc | osc | 5 | no problems | 17134.68 | |
ping | 5 | man ping | Works fine | ||
pip+ | 0 | pip.pypa.io | DO NOT INSTALL with --fix-missing . Breaks apt . See documentation |
||
php5-cli | 4 | php.net/manual | Working, needs more testing | ||
php7.0 | 4 | php.net | Installed without issue, needs more testing | ||
postgresql | 0 | crashes on start-up after trying to read something from /proc | 14366 | ||
python | 5 | python.org | Works even for very difficult and memory intensive workloads such as compiling PyPy | 14366 | |
pypy | 5 | pypy.org | Works even when translating itself | 14366 | |
qpidd | 0 | man qpidd | Starting the daemon fails with a socket error: "critical Unexpected error: Can't bind to port 0.0.0.0:5672: Invalid argument (qpid/sys/posix/Socket.cpp:206)" | ||
qtorrent | qtorrent | 0 | unable to configure UPnP, may work if not behind NAT | 14366 | |
R | r-base | 4 | r-project.org | devtools, doParallel and foreach works. May be numerically a little different from other system. More tests needed. | 14393 |
rbenv | 4 | rbenv/rbenv | works for the most part, but permissions of folders are wrong after installing (world writable), spawning warnings when running e.g. Rubygems | 14366 | |
reboot | 0 | man reboot | Unable to shutdown system. | ||
redis | 4 | Redis | Able to start server and interact with built-client. Did part of tutorial and worked great. | 15031 (Xenial) | |
rmw | 5 | rmw | Remove to waste. Safely remove files to a trash folder from the cli. | ||
rsync | 4 | rsync.samba.org | works with ssh tunneling and with same file system. Needs more testing | ||
ruby | 4 | ruby-lang.org | works for Sinatra and Rails development using C extension gems for the most part, but rails new testapp works with WeBrick (the default), but hangs with thin |
14986 | |
rustc | 4 | rust-lang.org | Can compile basic programs. Needs testing with more complex programs | 14393.67 | |
Sage Math | 4 | http://www.sagemath.org/ | Able to do a good portion of the Sage Math tutorial. There is a RunTime warning but does not stop Sage from working | 15031 | |
scp | 5 | man scp | works for both remote to local and local to remote transfers. | ||
screen | 4 | gnu.org/software/screen | Already installed. Simple fix needed. | 15063 (Xenial) | |
seamonkey | 4 | see firefox | 17134.68 | ||
sed | 4 | gnu.org/software/sed | didn't test all options, but everything I tested worked fine. | ||
singularity | 0 | singularity | doesn't run / can not make mountspace | ||
SMLNJ | 0 | smlnj.org | Installed. Will not start correctly. | 14393 | |
SNMP Tools | snmp | 5 | www.net-snmp.org | Seems to work fine | 15063.138 |
sqlite | 4 | sqlite.org | File locking is broken, which can lead to database corruption | ||
ssh | 5 | wikipedia - ssh | ssh works as expected | ||
ssh-keygen | ssh | 4 | man ssh-keygen | -t rsa working | |
strace | strace | 5 | Seems to work Flawlessly | ||
sudo | 5 | wikipedia - sudo | appears to be working as expected | 16299.19 | |
SWI-Prolog | 4 | swi-prolog.org | Installed without issue, needs more testing. See: (Installing from PPA (Ubuntu Personal Package Archive)) | 14393 | |
swift | 3 | developer.apple.com/swift | Everything except interactive shell works | ||
systemd | 0 | useless, invoke rc scripts instead | 17134.68 | ||
tail | 3 | man tail | Will tail files, but 'follow' (-f) reports "tail: unrecognized file system type 0x53464846" | ||
tea | 4 | http://semiletov.org | desktop icon missing | 17134.68 | |
tcc | 3 | bellard.org/tcc | tcc run and scripted "#!/usr/bin/tcc -run" files work correctly | ||
telnet | 4 | wikipedia - telnet | Further testing required | ||
tensorflow | 4 | tensorflow/tensorflow | See Scott Hanselman's post | ||
terminator | 4 | Multi-terminal emulator. Tested using VcXsvr. | 16299.551 | ||
tesseract-ocr | 4 | tesseract-ocr/tesseract | No problems with command line usage | ||
texlive | 5 | tug.org/texlive | No problems so far | 14366 | |
tmux | 4 | tmux/tmux | Works well for the most part, mouse mode doesn't seem to work | 14366 | |
torproject | tor | 5 | torproject.org | Tor is a free software that prevents people from learning your location or browsing habits by letting you communicate anonymously on the Internet. | 14393 |
ufw | 0 | help.ubuntu.com/community/UFW | Fails with an error about iptables | 15063.138 | |
upx | 1 | https://upx.github.io/ | Can't run upx within WSL, but can run ELF binaries compressed with upx, see upx/upx#201 | 18362.113 | |
useradd | 4 | man useradd | Users can be added but /etc/skel profile logout and bashrc files but no default directories | ||
usermod | 5 | man usermod | Seems to work correctly | ||
vim+ | 3 | vim/vim | Will open and edit Window files it cannot create new files. Can create new linux files. Issues with colorschemes. Plugins don't work. Panes, buffers, and registers appear to be working correctly. | ||
Visual Studio Code | code && code-insider | 5 | Visual Studio Code | Will install, but does not launch due to issues relating to Google Chrome with WSL. See: #758 Update: #2760. Redundant, due to the release of VSCode Remote Development (https://code.visualstudio.com/docs/remote/remote-overview) | 16275 |
vncserver | 4 | no sound (did not try too hard) | 17134.68 | ||
vsftpd | 3 | ? | Not installed with apt | ||
wget | 3 | Simple commands work. Have only run basic commands | |||
wireshark | 5 | wireshark | Works just as expected | ||
WindowMaker | 5 | default window manager for Xrdp | 17134.68 | ||
xfce4-terminal | 5 | Seems to work Perfectly | 15063 | ||
startxfce4 (and all subsequent programs) | 5 | Everything seems to work, I didn't find anything wrong with it. | 15063 | ||
xorg | 4 | As Xrdp or Xvnc | 17134.68 | ||
xrdp | xrdp | 3 | due to failing systemd, sesman must be started by hand; the default init script does not work | ||
xterm | xterm | 4 | insufficiently tested | ||
yarn | 3 | yarnpkg.com | Works mostly fine. Sometimes really slow due to Windows Defender (whitelisting helps). Global package installations are not always working properly. wsl performance problems yarn issue | ||
YaST | yast2 | 4 | No icons, otherwise OK | 17134.68 | |
yum | 0 | doesn't work at all. will segfault on yum , hangs indefinitely with yum install |
|||
youtube-dl | 5 | Works Perfectly | |||
Zipper | gnustep-zipper | 5 | 17134.68 | ||
zsh | 4 | Simple commands work after getting listed WSL build, also checked oh-my-zsh | 14393 |