A Linux subsystem in Windows? What sounded like an April Fools' gag has turned out to be one of the biggest signs of Microsoft's widening acceptance of open source and strategic cooperation with Linux.
It's also created a veritable playground within Windows for creative hacking. Some of it is simple proof-of-concept tinkering. Other, more ambitious hacks show off both the creativity of the hackers and the robustness of the Linux subsystem, even at this early stage. (All this creativity has spurred Microsoft to include the Linux subsystem as a standard add-on in future versions of Windows.)
If you've already installed the Linux subsystem and want to tinker beyond the shell, here's a collection of the most intriguing Lin-on-Win hacks we've seen thus far.
Use X applications with dbus
Yes, you can run X applications in the Linux subsystem! But the hard part is getting them to display anything. To do so, you'll need to install an X server in Windows, such as MobaXterm, Xming or VcXsrv. You'll also need to configure dbus properly; a member of the subreddit devoted to the Linux subsystem has details on how to do so. According to the comment, Chrome does not yet work, so other apps might also still be dysfunctional. Done right, though, the entire Unity desktop environment can run in a window.
Not only a fun and foundational first-person shooter, Quake (and before it, Doom) has a rep for being widely ported and hacked -- great for testing the gaming potential of a given platform. This script provides an option to download, build, and run Quake for Linux directly inside the Linux subsystem. There's more than the gee-whiz factor of the exercise here, too. As the author says, "I am hopeful that with successive iterations of BoUoW, Windows 10 will become a one-stop OS for many developer scenarios previously considered out of reach or impossible."
Run the i3 Window Manager
A Linux window manager with a strong following, i3 can run in the Linux subsystem. According to the author of the linked article, very little tinkering is needed to make this happen -- a testament to both to the clean design of i3 and the Linux subsystem's implementation.
Launch Windows programs ... from within Linux ... from within Windows
If you're having "Inception" flashbacks simply reading the description, you're not alone. But the idea behind the cbwin utility is ingenious: From the Linux command line in Windows, you can call out to command-line programs running in Windows itself and even invoke windowed Windows applications. It doesn't work perfectly for everything yet -- for example, interactive command-line Windows applications don't behave as expected -- but it's a work in progress.
Install Elixir, Ruby, and other languages
While these aren't exactly hacks, their execution hints at how well the Linux subsystem in Windows is designed and where it's likely to trip people up in the future.
Elixir, a functional language that recently popped onto the scene, has a Windows version available. That said, one intrepid Elixir developer decided to see if he could, in fact, install the Linux version in the subsystem. Short answer: yes. It didn't even require any tinkering; all it involved was fetching the right packages and performing
apt-get install. This bodes well for developers who want to use other packages that install in the same way.
However, another developer who wanted to work with the Jekyll static-site app written in Ruby 2.0 found he had to perform a little hackery to install Ruby 2.0. Most of the issues, however, didn't seem to involve incompatibilities with the Linux subsystem; instead, the system expected to find items in certain locations when they were in others.
Last but not least: Microsoft itself
Microsoft recently posted its own list of nifty Linux-in-Windows tricks. Included in this batch: Managing servers remotely, working with files on the Windows side of the system when you're in the Linux side (yes, it can be done), and building the classic text-mode game NetHack from its source code.