Skip to content
Snippets Groups Projects
x-window-system.md 5.33 KiB
Newer Older
  • Learn to ignore specific revisions
  • Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    X Window System 
    ===============
    
      
    
    The X Window system is a principal way to get GUI access to the
    clusters. The **X Window System** (commonly known as **X11**, based on
    its current major version being 11, or shortened to simply **X**, and
    sometimes informally **X-Windows**) is a computer software system and
    network
    [protocol](http://en.wikipedia.org/wiki/Protocol_%28computing%29 "Protocol (computing)")
    that provides a basis for [graphical user
    interfaces](http://en.wikipedia.org/wiki/Graphical_user_interface "Graphical user interface")
    (GUIs) and rich input device capability for [networked
    computers](http://en.wikipedia.org/wiki/Computer_network "Computer network").
    
    The X display forwarding must be activated and the X server running on
    client side
    
    ### X display
    
    In order to display graphical user interface GUI of various software
    tools, you need to enable the X display forwarding. On Linux and Mac,
    log in using the -X option tho ssh client:
    
    `
     local $ ssh -X username@cluster-name.it4i.cz
    `
    
    ### X Display Forwarding on Windows
    
    On Windows use the PuTTY client to enable X11 forwarding.   In PuTTY
    menu, go to Connection->SSH->X11, mark the Enable X11 forwarding
    checkbox before logging in. Then log in as usual.
    
    To verify the forwarding, type
    
    `
    $ echo $DISPLAY
    `
    
    if you receive something like
    
    `
    localhost:10.0
    `
    
    then the X11 forwarding is enabled.
    
    ### X Server
    
    In order to display graphical user interface GUI of various software
    tools, you need running X server on your desktop computer. For Linux
    users, no action is required as the X server is the default GUI
    environment on most Linux distributions. Mac and Windows users need to
    install and run the X server on their workstations.
    
    ### X Server on OS X
    
    Mac OS users need to install [XQuartz
    server](http://xquartz.macosforge.org/landing/).
    
    ### X Server on Windows
    
    There are variety of X servers available for Windows environment. The
    commercial Xwin32 is very stable and rich featured. The Cygwin
    environment provides fully featured open-source XWin X server. For
    simplicity, we recommend open-source X server by the [Xming
    project](http://sourceforge.net/projects/xming/). For
    stability and full features we recommend the
    [XWin](http://x.cygwin.com/) X server by Cygwin
    
     |How to use Xwin |How to use Xming |
     | --- | --- |
     |[Install Cygwin](http://x.cygwin.com/)Find and execute XWin.exeto start the X server on Windows desktop computer.[If no able to forward X11 using PuTTY to CygwinX](x-window-system/cygwin-and-x11-forwarding.html)\ |<p>Use Xlaunch to configure the Xming.<p>Run Xmingto start the X server on Windows desktop computer.\ |
    
    Read more on
    [http://www.math.umn.edu/systems_guide/putty_xwin32.html](http://www.math.umn.edu/systems_guide/putty_xwin32.shtml)
    
    ### Running GUI Enabled Applications
    
    Make sure that X forwarding is activated and the X server is running.
    
    Then launch the application as usual. Use the & to run the application
    in background.
    
    `
    $ module load intel (idb and gvim not installed yet)
    $ gvim &
    `
    
    `
    $ xterm
    `
    
    In this example, we activate the intel programing environment tools,
    then start the graphical gvim editor.
    
    ### GUI Applications on Compute Nodes
    
    Allocate the compute nodes using -X option on the qsub command
    
    `
    $ qsub -q qexp -l select=2:ncpus=24 -X -I
    `
    
    In this example, we allocate 2 nodes via qexp queue, interactively. We
    request X11 forwarding with the -X option. It will be possible to run
    the GUI enabled applications directly on the first compute node.
    
    **Better performance** is obtained by logging on the allocated compute
    node via ssh, using the -X option.
    
    `
    $ ssh -X r24u35n680
    `
    
    In this example, we log in on the r24u35n680 compute node, with the X11
    forwarding enabled.
    
    HTML commented section #1 (no GUI on Compute nodes - Xvfb)
    
    ### The Gnome GUI Environment
    
    The Gnome 2.28 GUI environment is available on the clusters. We
    recommend to use separate X server window for displaying the Gnome
    environment.
    
    ### Gnome on Linux and OS X
    
    To run the remote Gnome session in a window on Linux/OS X computer, you
    need to install Xephyr. Ubuntu package is 
    xserver-xephyr, on OS X it is part of
    [XQuartz](http://xquartz.macosforge.org/landing/).
    First, launch Xephyr on local machine:
    
    `
    local $ Xephyr -ac -screen 1024x768 -br -reset -terminate :1 &
    `
    
    This will open a new X window with size 1024x768 at DISPLAY :1. Next,
    ssh to the cluster with DISPLAY environment variable set and launch
     gnome-session
    
        local $ DISPLAY=:1.0 ssh -XC yourname@cluster-name.it4i.cz -i ~/.ssh/path_to_your_key
        ... cluster-name MOTD...
        yourname@login1.cluster-namen.it4i.cz $ gnome-session &
    
    On older systems where Xephyr is not available, you may also try Xnest
    instead of Xephyr. Another option is to launch a new X server in a
    separate console, via:
    
    `
    xinit /usr/bin/ssh -XT -i .ssh/path_to_your_key yourname@cluster-namen.it4i.cz gnome-session -- :1 vt12
    `
    
    However this method does not seem to work with recent Linux
    distributions and you will need to manually source 
    /etc/profile to properly set environment
    variables for PBS.
    
    ### Gnome on Windows
    
    Use Xlaunch to start the Xming server or run the XWin.exe. Select the
    ''One window" mode.
    
    Log in to the cluster, using PuTTY. On the cluster, run the
    gnome-session command.
    
    `
    $ gnome-session &
    `
    
    In this way, we run remote gnome session on the cluster, displaying it
    in the local X server
    
    Use System-&gt;Log Out to close the gnome-session