NCSA Home
Contact Us | Intranet | Search

Using the X Window System

Many of the tools (programs) on NCSA's high performance computers use the X Window System. 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 computer). The program that runs on the remote computer is called the client. The program that runs on your desktop computer is called the server. X Window servers are available for Microsoft Windows, Macintosh, Unix, and other systems.

Using X with ssh tunneling.

Before running an X Window client tool on an NCSA machine, you need to securely connect to the target machine to open a window. Back in the old days, you might have used telnet, and set your DISPLAY environment variable after logging in. That method is too much of a security risk nowadays. Too keep your X Window traffic secure, use an ssh application like Putty, Secure Shell SSH, or similar package. Most graphical user interface packages will have an option you can check in the preferences to allow X11 forwarding. Once that's set, you can login with ssh and use X applications [ good test applications on most systems are: xclock or xterm ].
Here are the instructions for setting up X11 forwarding for some popular applications and systems:

  • Windows & Putty.
  • Windows & SSH Secure Shell.
  • Unix/Linux prompt [example: Mac OS-X terminal, linux shell window]
    	ssh -Y -l mylogin public-linux.ncsa.uiuc.edu
    
            #   -Y is equivalent to ForwardX11Trusted=yes in your $HOME/.ssh/config
    
    Unix X11 forwarding and the -Y option are explained in further detail here: HOWTO_X-forwarding.


  • Using the X Window System on a Microsoft Windows or Macintosh System

    Since the X Window System is not normally installed on Microsoft Windows systems, you must find a product and install it on your system. Below is a partial list of X Window servers available for Microsoft Windows and older Macintosh systems. Macintosh systems with OS-X 10.4 and newer ship with an X11 application--start it and ssh from one of its xterms to use ssh and X11 forwarding.

    None of the X Window servers below has been tested with all NCSA X Window client tools. If possible, get a demo version and test it with the tool before you purchase it.

    Vendor Product Microsoft Windows Macintosh
    Xming

    Xming

    free n/a
    Cygwin

    cygwin/x

    free n/a
    MicroImages, Inc.

    MI/X

    $ free
    OroborOSX

    OroborOSX

    n/a free
    Hummingbird Communications Ltd.

    Exceed

    $ n/a
    WRQ Reflection X $ n/a
    powerlan eXodus n/a $

    There is a more extensive list of X Window System products available for Microsoft Windows, Macintosh, and other systems.

    Using the X Window System with interactive batch jobs on linux clusters

    Because our pc-based linux clusters are configured to allocate whole machines to your batch jobs [the batch machines are not shared by users], ssh access is allowed to batch hosts in your job. You can run X windows applications on a batch host by following these steps:

    
    1) login to the cluster with ssh, start an xterm to verify your X11 tunneling is
       working correctly
    
           xterm &
    
    2) in that xterm, submit an interactive batch job and wait for it to start and 
       note the execution host in the prompt name when the job starts
    
           # PBS EXAMPLE
           qsub -I -V -lnodes=1:ppn=2,walltime=00:30:00 
    
           # LSF EXAMPLE
           bsub -Is -n1 -W00:30 tcsh
    
    3) login to the cluster again with ssh and then use the cluster's local ssh to
       login to the machine running your job from step 2)
    
           ssh -Y clusterhost123
    
    4) start your X-windows application on the cluster machine
    
           clusterhost123% my_GUI_application
    

    Testing 3-d capability of your x window display with glxgears

    To test remote 3-dimensional graphics capability with x-windows, glxgears may be used from NCSA login hosts. It should draw a box with 3 rotating gears showing your local frame refresh rate for 3-d work in frames per second [FPS]. If the box doesn't draw, your x display doesn't support the GLX OpenGL extension and you would need to look into that. Example display output:




    Xming X server for Windows [supports 3-d, openGL]:

    Xming at http://sourceforge.net/projects/xming/


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

    bash-3.1$ xdpyinfo | grep GL
        GLX
        SGI-GLX
    bash-3.1$
    

    The X Window System is supported by X.Org, a consortium of computer hardware and software vendors.