As an alternative to X11 Forwarding, using VNC to access the cluster is another way to run graphically intensive applications.
Allocate an interactive compute node on the cluster. For this description, we’ll assume you were given compute-4-3.
On that node, run the VNCserver. You’ll see something like:
bash-4.1$ vncserver New 'compute-4-3.local:1 (rdb9)' desktop is compute-4-3.local:1 Starting applications specified in /home/rob/.vnc/xstartup Log file is /home/rob/.vnc/compute-4-3.local:1.log
The :1 means that your DISPLAY is :1. You’ll need that later, so note it. The first time you do this, you’ll be asked to select a password for allowing access.
From a shell on your local desktop, run the following ssh command:
ssh -Y -L7777:compute-4-3:5901 YourNetID@cluster_login_node
This will set up a tunnel from your local port 7777 to port 5901 on compute-4-3. You will need to customize this command to your situation. Replace compute-4-3 with the node you got; replace louise with bulldogn if needed. The 5901 is for display :1. In general, you should put 5900+DISPLAY. The 7777 is arbitrary; any number above 3000 will likely work. You’ll need the number you chose for the next step.
On your local machine, start the vncviewer application. Depending on your local operating system, you may need to install this. Most linux and mac computers should already have it. On Windows, install and use the tightvnc viewr program, which you can find by googling.
When you start the viewer, you’ll need to tell it which host and port to attach to. You want to specify the local end of the tunnel. In the above case, that would be localhost::7777. Exactly how you specify this will depend a bit on which viewer you use. E.g:
$ vncviewer localhost::7777
You should be prompted for the password you set when you started the server.
Now you are in a GUI environment and can run IGV or any other rich GUI application.
When you are all finished, you can kill the vncserver by doing this in the same shell you used to start it (replace :1 by your display number):
$ vncserver -kill :1
See our tutorial videos below