Run Linux GUI apps on Windows 10
Tags: windows, linux, gui, software
Published: 2018-10-23 16:34:39

---
title: Run Linux GUI apps on Windows 10
published: true
description: Running Linux applications on Windows is now possible, including GUI based applications.
tags: windows, linux, gui, software
cover_image: https://blog.davidjeddy.com/wp-content/uploads/2018/10/windows10-ubuntu.png
---

<!-- wp:heading -->
<h2>A Little Background</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>As much as I would like to ignore Windows in the tech world, it can not be marginalized. To many users with to many applications on to many systems operate on Windows. Coupled with the recent moves by Microsoft into the <a href="https://en.wikipedia.org/wiki/Free_and_open-source_software">free or open source software (FOSS)</a> world Windows is as well making major headway towards being taken seriously in the IT / engineering world.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>The Current Situation</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>At home I run Ubuntu 18.04, on the go is a 15" MacBook Pro, my phone is some version of Android, and finally in the office we run on Windows 10 HP notebooks. I am as far from the <em>unified experience</em> as a user could possibly get. Being able to running Linux programs on Windows is a highly desirable ability given my current role. Windows Subsystem for Linux has makes this possible very easily. I can even run a container using Docker on Linux wrapped in Windows. #softwareabstractioninception. This is an amazing leap from ten years ago when when running LAMP stack properly working with IIS was a journey into madness. Interoperability has progressed so far that running a Linux GUI program on Windows is now possible. Thus this walk through.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>The Solution</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>From the Windows Store install the Windows Subsystem for Linux (WSL). I chose the Ubuntu option.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1048,"align":"center"} -->
<div class="wp-block-image"><figure class="aligncenter"><img src="https://blog.davidjeddy.com/wp-content/uploads/2018/10/image-29.png" alt="" class="wp-image-1048"/><figcaption>Linux on Windows #mind-blown</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Next we will want to install Xming on to Windows 10. If can be obtained from&nbsp;<a href="https://sourceforge.net/projects/xming/">https://sourceforge.net/projects/xming/</a>. Follow the install directions as they appear from the installer.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1047,"align":"center"} -->
<div class="wp-block-image"><figure class="aligncenter"><img src="https://blog.davidjeddy.com/wp-content/uploads/2018/10/image-28.png" alt="" class="wp-image-1047"/><figcaption>Check that out. An X11 server on Windows 10.</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Press the START button and type 'wsl'. Start the Windows Subsystem for Linux program. When the Linux terminal is available let's install gvim.</p>
<!-- /wp:paragraph -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">sudo apt-get install vim-gtk<br></pre>
<!-- /wp:preformatted -->

<!-- wp:image {"id":1049,"align":"center"} -->
<div class="wp-block-image"><figure class="aligncenter"><img src="https://blog.davidjeddy.com/wp-content/uploads/2018/10/image-30.png" alt="" class="wp-image-1049"/><figcaption>gvim Installed</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>The final step before being able to run the Linux application is to tell WSL what display to send the video data to. This will be the Xming server running on Windows.</p>
<!-- /wp:paragraph -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">export DISPLAY=:0<br></pre>
<!-- /wp:preformatted -->

<!-- wp:paragraph -->
<p>Now, if everything went as expected, we should be able to run <code>gvim</code> and see the application open.</p>
<!-- /wp:paragraph -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">gvim<br></pre>
<!-- /wp:preformatted -->

<!-- wp:image {"id":1050,"align":"center"} -->
<div class="wp-block-image"><figure class="aligncenter"><img src="https://blog.davidjeddy.com/wp-content/uploads/2018/10/image-31.png" alt="" class="wp-image-1050"/><figcaption>Wow, look at that!</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:heading -->
<h2>Conclusion</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Given historic context it would be easy to dismiss Microsoft Windows as a legitimate development environment. However, with the advancement in containerization, Windows subsystems,&nbsp; and Microsoft's embrace of the FOSS community; Windows might just be worth staying with as a home/office desktop.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Resources</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li><a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10">Install WSL: https://docs.microsoft.com/en-us/windows/wsl/install-win10</a></li><li><a href="https://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/">Source article: https://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/</a></li></ul>
<!-- /wp:list -->