Linux Applications

Use Linux Graphical Softwares on Windows via X11 Forwarding

In this article, I am going to show you how to install X11 display server on Windows and use Linux graphical applications on Windows via X11 forwarding. So, let’s get started.

Pre-Requisites:

In order to use Linux graphical softwares on Windows using X11 forwarding, the remote Linux machine you’re connecting to must have SSH server software installed and X11 Forwarding enabled.

I have written an article to show you how to configure X11 forwarding on Linux. If you’re having trouble, be sure to check the article Configure SSH X11 Forwarding on Debian 10 on LinuxHint.

Installing X11 Server on Windows:

In this article, I am going to use VcXsrv on Windows to set up a X11 display server on Windows. VcXsrv is completely free. You can download it from SourceForge and install it on Windows very easily.

First, visit the official sourceforge page of VcXsrv. When the page loads, click on Download as marked in the screenshot below.

VcXsrv is being downloaded.

Once the download is complete, run the VcXsrv installer.

Click on More info.

Then, click on Run anyway.

Now, click on Yes.

Make sure Full is selected on the type of install and click on Next >.

Click on Install.

VcXsrv is being installed.

Once the installation is finished, click on Close.

Once the installation is finished, run XLaunch from your Desktop or Start Menu.

Click on Next >.

Click on Next >.

Click on Next >.

Now, click on Finish.

Now, click on Allow access.

X11 server should be running as you can see on the bottom right corner of the screen.

InstallingPuTTY:

PuTTY is a SSH client for  Windows. PuTTY can also be used for X11 forwarding over SSH.

To download PuTTY, go to the official website of PuTTY. Once the page loads, click on the marked link from the Download PuTTY section.

If you’re using a 32-bit version of the Windows operating system, click on the 32-bit download link.

If you’re using a 64-bit version of the Windows operating system, then click on the 64-bit download link.

PuTTY is being downloaded.

Once the download is complete, run the PuTTY installer.

Now, click on Next.

Click on Next.

Click on Install.

Now, click on Yes.

Uncheck the View README file checkbox (optional) and click on Finish.

Using PuTTY for X11 Forwarding Linux GUI Apps:

Once PuTTY is installed, start PuTTY from the Start Menu.

Now, type in the username and IP address of your remote Linux machine where SSH X11 forwarding is configured.

Use the following format username@IP_ADDR.

Now, click on Connection > SSH > X11 and check the Enable X11 forwarding checkbox. Once you’re done, click on Open.

If you’re connecting to the remote server for the first time, you will see the following window. Click on Yes.

Now, type in the password of the login user of the remote server and press <Enter>.

You should be logged in.

Now, to start a graphical application, just run the command that is responsible for starting the application that you need.

Let’s try to run Gedit text editor.

$ gedit &

As you can see, Gedit is running correctly. The actual software is running on the remote Linux machine. But, the display is just forwarded to Windows. It really feels like a native Windows application. I tried it for a while, it works perfectly.

I also tried to run GNOME disk. It also worked nicely.

I tried to run Wireshark Network Analyzer. It also worked perfectly.

As you can see, I can monitor the network adapter of the remote Linux machine from the X11 forwarded Wireshark.

So, that’s how you set up X11 display server on Windows and use Linux graphical softwares on Windows via SSH X11 forwarding. Thanks for reading this article.

About the author

Shahriar Shovon

Freelancer & Linux System Administrator. Also loves Web API development with Node.js and JavaScript. I was born in Bangladesh. I am currently studying Electronics and Communication Engineering at Khulna University of Engineering & Technology (KUET), one of the demanding public engineering universities of Bangladesh.