Run Linux GUI Apps In Windows 10 Using Bash

0
327

Bash – the famous shell used in Linux – was introduced in Windows 10 last week as part of Insider Preview Build 14316, thus allowing you to run Unix commands on Windows. Today, we’ve come across a way to run entire Linux graphical applications in Windows 10 by launching them through Bash. Find out how after the jump.

Linux GUI apps on Windows 10 using bash

Thanks to w2qw for the screenshot

We showed you how to setup Bash in Windows 10 a few days ago. It is one of our more popular posts, and for good reason: developers love the popular Unix shell, and basically just prefer it over Windows’ own PowerShell. The dev community was and is excited to be able to run their favorite Unix commands on their Windows 10 PC.

One developer/redditor named w2qw has discovered an indirect way to run Linux apps on Windows 10 using bash in combination of Xming’s X server. In the screenshot below, you can see Mozilla Firefox, and Vim – GUI apps compiled for Ubuntu Linux – running side-by-side with Windows 10 apps.

It’s an interesting use of bash. Chances are Microsoft didn’t think clever users would be using it like this.

So, how do you run Linux GUI apps on Windows 10? We’ve paraphrased w2qw’s description of it:

After setting up bash in Windows 10, you need to download, install and setup X Server [SourceForge]. Once that’s done, run a command in the following style in bash:

DISPLAY=:0 firefox

w2qw rightly points out this isn’t as fast as running apps natively, since they are running on top of a server, but it is better than using VNC.

The developer community is playing around with this new-found functionality in their PCs. One redditor even managed to run Xfce – a complete desktop environment used in some Linux distributions – on Windows 10. Here’s how it looks:

Xfce running on Windows 10

Thanks to starlig-ht for the screenshot

As someone who hasn’t meddled with the command line or with developer tools for two years since I graduated as a Software Engineering major, I don’t quite understand how it all works. However, I am looking into it and hopefully will find a way to write a better, step-by-step tutorial to guide our readers better.

Until that happens, I recommend you join the discussion over on Reddit, where the community is discussing the implications and applications of this, if any.