Updated 2019-09-05

Run GUI Applications on the Cluster

Note

If you are running more resource intensive software such as an application that produces 3D models, you may want to use VNC instead of X11. Here is our guide to setting up a VNC session.

Overview

  • To display a graphical interface (plots, GUI controls, etc) on the PACE Cluster, you can use X11.
  • X11 (also known as X or X Window System) is a computer software system and network protocol that allows the use of GUIs for networked computers.
  • Both Windows and macOS (as of OS X 10.8) do not support X11 natively, so you must install an X Server if you want to use X11.

Configure an X Server on Windows

Tip

It is recommended that you initiate all connections using X11 on Windows through PuTTy. Please install it now if you haven't already.

  • We recommend installing VcXsrv, but you can use other applications like Xming, MobaXterm, etc. Use the link to download, install, and run the application using the default options.
  • To use VcXsrv, run the XLaunch application (you can find it by searching XLaunch in the Windows Search Bar) and you will be prompted with a window asking you to configure various settings before launching the X Server.
  • Keep clicking Next to accept all the defaults and click Finish once it shows up.

Warning

You will need to make sure your X server application is running on Windows before you SSH into the cluster to use a graphical application.

Tip

  • To configure VcXsrv to run at startup:
    • Locate the VcXsrv shortcut in the Start Menu
    • Right click → select more → select open file location
    • Copy the VcXsrv shortcut file
    • Paste the shortcut in %appdata%\Microsoft\Windows\Start Menu\Programs\Startup
If you are not using WSL
  • XLaunch will now be minimized to your system tray. You can find it in the bottom right corner of the screen as one of the small icons there or by clicking the icon there that shows more hidden icons. The application will look like a black X with an orange circle wrapping around it.
  • Right click on this icon and click Show Log to find DISPLAY=127.0.0.1:1.0. Copy this value.
  • Initiate your connection to the PACE Cluster through PuTTy. To configure PuTTy to work with X11, go to the left side navigation bar and navigate to SSH => X11. Tick the Enable X11 forwarding checkbox and paste the value you copied earlier into X display location.
  • Log into the Cluster through PuTTy as you normally would.
  • You are now able to run display GUI applications on the Cluster.
If you are using WSL
  • After setting up VcXsrv through XLaunch, export the display to the X server by typing and executing echo "export DISPLAY=localhost:0" >> ~/.bashrc. Restart the shell.
  • You can now log into the cluster by passing the -Y flag when you SSH in.
ssh -Y someuser3@login-s.pace.gatech.edu

Tip

If you seem to be having trouble with X11, check that X11 Forwarding is enabled with the following:

Navigate to sshd

sudo nano /etc/ssh/sshd_config

Scroll down to find a section that looks similar to the following:

#AllowAgentForwarding yes #AllowTcpForwarding yes #GatewayPorts no X11Forwarding yes #X11DisplayOffset 10 #X11UseLocalhost yes #PermitTTY yes PrintMotd no #PrintLastLog yes #TCPKeepAlive yes #UseLogin no

Make sure that X11Fowrarding is set to yes. Everything else can be left however it originally appeared on your computer. Also make sure that the display is set to localhost:0. You can try simply running export DISPLAY=localhost:0 if you think that there is a problem with .bashrc.

Configure an X Server on macOS

  • Install XQuartz. Open the program from Downloads.
  • You can see a detailed installation guide on this website. You can download the latest version of XQuartz, it doesn't have to be 2.7.7
  • Run Applications => Utilities => XQuartz.app.
  • Right click on the XQuartz icon in the doc and select Applications => Terminal. This will bring up a new xterm teriminal window.
  • ssh into the Cluster with the -Y argument like this:
ssh -Y someuser3@login-s.pace.gatech.edu
  • You are now able to run GUI applications on the Cluster.

GUI Apps on Linux

  • Linux users can use X11 natively. Simply ssh into the cluster with the -Y flag.
ssh -Y someuser3@login-s.pace.gatech.edu