Windows Subsystem for Linux (WSL): what can't I do with the Ubuntu application for Microsoft Windows?
The Ubuntu that runs under Windows 10 Subsystem for Linux is not a full distro. In fact, it's not Linux at all -- it has no Linux kernel. So you can't test or try kernel extensions, including drivers, because you're not running Linux.
If you want to do stuff like that, either install Ubuntu in a VM -- Win10 includes Hyper-V, but personally, I prefer VirtualBox, which is free -- or dual-boot your machine with Ubuntu running on the bare metal. You will almost certainly find the latter faster than running Windows -- I do on all my machines. Partly this is because you need antivirus protection when running Windows, which saps performance, especially disk performance. And because you need it, Win10 includes built-in antivirus.
With Linux, you do not need any, so there is less performance impact.
There are many useful pieces of information on each of the above answers. I am here summarizing the main concepts of each of them.
Update April 2020: Pro and cons in using WSL are here explained. There is clear why having a real Linux kernel is an advantage!! Additionally, here there is a guide to install WSL 2 onto your Windows 10. If you have installed the WSL 1 and you want to pass to WSL 2, here you can find the instruction for doing it.
Update August 2019: The new WSL 2 was released (read here for more information). It seems that you can work with a real Linux kernel and with a Linux file system. Honestly, I haven't tried the new version so far (it is on my TODO list).
Update May 2019: as pointed out in one of the most recent answers, WSL is evolving by using the real Linux Kernel and giving many more options. I have been through this document and, if confirmed, it will be a big step forward. Here you can find a nice article about the topic "real Linux kernel on W10"
Answer July 2018 Summarizing: "Ubuntu on windows is the complete Ubuntu userland on top of a Windows kernel in Linux-Compatibility mode", as point out in one of the comments.
What I can't do:
- Officially, no graphics interface supported so far. This means also that graphics applications cannot be executed. Additionally, the standard GUIs of the classic Ubuntu Linux-based are not supported for this reason of course.
- The kernel of Linux developed by Linus is NOT part of the Windows Subsystem for Linux (WSL). This means that you cannot develop drivers and try it directly.
- Not every command line works.
What I can do:
- Use the command line and the basic Bash shell. It is possible to write and execute scripts.
- Develop applications (compile or cross-compile and execute them) but with no graphics so far.
- Use "apt-get" to install/remove new/old packets.
Additional information:
- other distributions are officially supported (like, for example, Debian and Kali)
these applications are free, downloadable from the Windows Store and here you can find the instruction to install and use it.
In this other question of the blog, some suggestion on how to use a GUI for WSL (unofficial, third party)
One of the things you cannot easily do under the Windows Subsystem for Linux (WSL) is run Linux GUI applications.
To do so you have to install an unsupported X11 server such as VcXsrv or Xming.
Enabling WSL is relatively trivial. It seems to be pretty good as a Linux command-line userland.