Table of Contents

X Windows and Microsoft Windows

X Windows, or X.Org, is the graphical system widely used by GNU/Linux and UNIX Operating Systems.

Usually Linux machines and Apple OSX have a native system that would allow a client to remotely login and execute X.Org programs on her own machine.

Unfortunately this is not the case for MicroSoft Windows (also called MS Windows in this document); one needs to install additional software for remote applications to open windows in the Microsoft graphical environment.

There are plenty of software out there, the mostly used being:

I used to use Xming, but has been reported to have some quirks with newer versions of windows, so I investigated some new ones and I am now using VcXsrv.

This page will show how to use this software together with another well known remote access software, Putty.

If you want a non open-source version but very user friendly, without the need for PuTTY, have a look at

Understanding the concept

A typical remote access from MS Windows to some X-Windows enabled server (i.e. running Linux or UNIX) will include:

  1. Starting the X server on the MS Windows machine;
  2. Logging in via SSH using some ssh client;
  3. Remotely launching a program that requires X Windows.
  4. Locally working on a window generated by the remote X client interacting with the local X server.

1) Installation and start of VcXsrv

  1. Download and install VcXsrv from http://sourceforge.net/projects/vcxsrv/ . If asked, leave the default settings.
  2. Two shortcuts on the desktop will be created. Double click on the XLaunch icon . You can change the settings if you know what they are about, otherwise just press next on every question. At the end of the process the XServer will be started, and you should be able to see this icon in the toolbar:
  3. From now on, everytime you need to start the Xserver you can just click on the VcXsrv icon .

2) Install PuTTY and configure X forwarding

  1. Download PuTTY from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html , and save it on your desktop.
  2. Double click on the putty icon
  3. In the form that shows up, insert:
    1. the name of the server you want to connect;
    2. a nickname for the connection;
  4. On the left list,expand ConnectionSSHX11
    1. Click on “Enable X11 forwarding”
  5. Go back to the Session panel and click “Save”
  6. Click on “open”
  7. Login with username and password to the server.

3) Test X forwarding

Once you're logged in, try to run some visual program, like emacs. The result should be like in the picture below. A window should pop-up with the program you executed remotely.

References