You are here

Using X11 for GUI interaction

On all WestGrid systems it is possible to use programs that have a graphical user interface (GUI) and display the results on your local computer monitor. This page guides you through the set up of such an environment on WestGrid systems. In order to set up such an environment, you will need to take the following steps:

  1. Run an X Window display server (X server) program on your local computer. You start up such a program and leave it running in the background.
  2. Connect to the WestGrid machine of your choosing through your normal ssh terminal program, with X11 forwarding enabled. This establishes the X11 connection between the WestGrid machine and your local computer.
  3. Start the GUI application (e.g. gnuplot) on the WestGrid machine. The graphical output of the program will display on your desktop.
  4. Interact with the GUI application using your mouse and keyboard. Your keyboard and mouse commands will be relayed in the other direction, allowing to interact with the running application on the WestGrid system.

These steps are detailed below. If you want more information on using GUI applications and/or performing more sophisticated visualizations of your data using WestGrid systems, please refere to the WestGrid Visualization page and/or the WestGrid Visualization QuickStart page.

Running an X Windows server

Commercial X Window display servers are available but most users can get by with free programs. Linux users will find the X Window support already installed with most distributions. If not, installing X on a Linux machine should be straightforward. Please refer to your Linux distribution's documentation to learn more.

Installing X11 on OS X depends on the version of OS X that you are running. Is OS X 10.4 X11 is included on the System Disk but not installed by default. In OS X 10.7 X11 was installed by default and no additional work was required. In OS X 10.8 and 10.9 X11 is not installed and you have to download and install it as an external package. This package can be downloaded from the XQuartz page.

On Microsoft Windows it is necessary to download and install an X11 package. One option for Microsoft Windows that is used by the WestGrid support team is Xming. If installing Xming, you should also install the optional font package. If your graphics hardware does not work well with Xming, you could try Xming-mesa, from the same site.

No matter which platform you are using, it is necessary to start the X Server software running in the background before you start any aplications on the remote WestGrid machine. How you start the X Server will depend on the platform you are using. For OS X and Windows, it is usually simply a matter of starting the X Server application. NOTE: It may be difficult to tell that the X Server is running on OS X and Windows, with the only visual notification that the X Server is running being an icon in the application tray in the bottom right corner of your screen (Windows) or the icon bar at the top right of your screen (OS X).

Connecting using SSH X forwarding

Once the X Server is running it is necessary to connect to the WestGrid machine of your choice. This is typically done through a command line terminal window that supports the secure shell (SSH) protocol. If you are connecting to WestGrid systems already, then you are already using such a program. Linux and Mac OS X users can typically use the built-in terminal programs, whereas Microsoft Windows users often install an additional SSH client, such as PuTTY. For more information on setting up your computer for use within the WestGrid environment, please refer to the WestGrid Quickstart Guide for New Users.

PuTTY configuration for X11 forwardingIn order to use X11 remotely, it is necessary to enable X11 forwarding on your SSH client. This is straightforward using OS X and Linux. You simply add the -Y or -X command line options to your ssh command as follows:

ssh -X your_username@orcinus.westgrid.ca (Linux)
ssh -Y your_username@orcinus.westgrid.ca (OS X)

On Windows it is necessary to configure your SSH client software to enable X11 forwarding. Using PuTTY this is done by loading a client configuration through the PuTTY GUI, choosing the X11 branch of the configuration tree, and choosing the "Enable X11 forwarding" box. Once the configuration is saved, every time you use that configuration X11 forwarding will be enabled.

Starting a GUI application

In order to start a GUI application on a WestGrid system that you have connected to as above, you simply have to type the name of the GUI application on the command line of your ssh terminal program. The best way to test that your connection is working is to start a terminal program such as xterm. When the application is started, the GUI for the program should appear on the desktop of your local computer. In the case of xterm, a new terminal window should appear on your desktop. In this manner, it is simple to start a wide range of programs, including GUI text editors (e.g. nedit), plotting programs (e.g. gnuplot), or visualization applications (e.g. Paraview).

Interacting with the GUI application

Interacting with the GUI application is straightforward. The application will behave "almost" like it is running on your desktop, with the keyboard and mouse functioning as you would expect.

It is worth noting that although using X11 to interact with a GUI application can be very useful, the X11 protocol is not particularly well suited to interacting with applications over long distances, in particular where the network performance may be limited. Using X11 remotely to connect from an institution (e.g. SFU) to a machine nearby (e.g. orcinus @ UBC) will perform relatively well. Connecting from UVic to the University of Manitoba will be significantly slower and connecting to a computer from your home to a remote WestGrid site will be slower still.

If you are interested in this and other options to effectively visualizing your data, please refer to the WestGrid Visualization Quickstart page.

As with all questions related to WestGrid, please send email to support@westgrid.ca for help.