Using the X Window System

Introduction

Various tools (programs) on the Campus Cluster use the X Window System (also called X11). Originally developed for UNIX, the X Window System allows a program on one computer to open windows on another computer’s screen (usually your desktop/laptop computer). The program that runs on the Campus Cluster is called the client. The program that runs on your desktop computer is called the server. X Window servers are available for Microsoft Windows, Apple Mac, and UNIX/Linux.

X Forwarding/Tunneling

Before running an X Window client tool on the Campus Cluster, you need to establish a secure connection from your local machine. To keep your X Window traffic secure, Windows users can use an SSH client like MobaXterm, PuTTY, Secure Shell SSH, Tunnelier, or similar package. Current graphical user interface packages will have an option in the preferences/settings to allow X11 forwarding. Users with Linux/Unix based machines including those running Mac OS can use the -X option with the ssh command to enable X11 forwarding. After you have logged in with your ssh client you can use X applications (good test applications on the Campus Cluster are “xclock” or “xterm”).

X Windows Software

Since the X Window System is not normally installed on Microsoft Windows systems, you must find a product and install it on your system. In the SSH section you will find an all-in-one SSH/X Windows Server software solution (MobaXterm) for Microsoft Windows systems. Below is a partial list of X Window servers available for Microsoft Windows and Mac OS.

None of the X Window servers below have been tested with all Campus Cluster X Window client tools. If possible, get a demo version and test it with the tool before purchasing.

X Window servers

Vendor

Product

Microsoft Windows

Apple Mac OS

Xming

Xming/Xming-mesa

free

n/a

Cygwin

cygwin/x

free

n/a

Datum Geospatial (formerly MicroImages )

MI/X

free

n/a

XQuartzX

XQuartz

n/a

free

OpenText

Exceed

$

n/a

Attachmate (now part of OpenText)

Reflection Desktop for X

$

n/a

Testing 3D Capability

To test remote 3-Dimensional graphics capability with X Windows the glxgears command can be run from any of the Campus Cluster login nodes. It should draw a box with 3 rotating gears showing your local frame refresh rate for 3D work in frames per second (FPS). If the box doesn’t draw the gears, your X display doesn’t support the GLX OpenGL extension, and you will need to investigate your local machine’s setup.

Example display output:

X Window glxgears command example display output. A box with 3 rotating gears showing the local frame refresh rate for 3D work in frames per second (FPS)

Xming-mesa X server for Windows supports 3D and openGL.

To check a local Linux system for OpenGL support, the xdpyinfo command should show GLX listed as in this example:

[local ~]$ xdpyinfo | grep GL
     GLX
     SGI-GLX

X Windows and Interactive Batch Jobs

Since ssh access is allowed to compute nodes assigned to your job, you can forward your X11 application through the ssh session from a compute node.

  1. Login to the cluster via ssh (with X11 forwarding enabled), start an xterm to verify your X11 tunneling is working correctly:

    [golubh1 ~]$ xterm
    
  2. Type exit in the xterm window to quit the xterm session. Submit an interactive batch job with X11 forwarding enabled and wait for it to start.

    (Replace account_name with the name of an account available to you. If you don’t know the account(s) available to you, ask your technical representative or submit a support request.)

    [golubh1 ~]$ srun -A account_name --x11 --export=All --time=00:30:00 --nodes=1 --ntasks-per-node=16 --partition=secondary --pty /bin/bash
    srun: job 123456 queued and waiting for resources
    srun: job 123456 has been allocated resources
    …
    
    [golub001 ~]$
    
  3. Start your X Windows application on the compute host:

    [golub001 ~]$ my_GUI_application