Calc has the ability to provide you with a virtual desktop on the Calc login node, complete with GUI and GPU acceleration.  This is accomplished with the use of Virtual Network Computing, or VNC, and VirtualGL on top of our NVIDIA GRID infrastructure.

 

Connecting to a VNC session in a secure manner is a non-trivial process, requiring the use of multiple programs and protocols simultaneously.  This is in part due to the minimal security provided by VNC itself, and thus the need to "wrap" VNC in a more secure protocol: SSH.  VNC has distinct advantages over traditional X11 forwarding:

  • Lightweight: VNC uses the remote CPUs and GPU for display rendering (X11 forwarding uses the client's hardware)
  • Latency Tolerance: Since draw routines and "output" happen remotely, client latency has no effect on drawing (just how long it takes to get the resulting output to you)
  • Persistent: The VNC session persists even if you lose connection (X11 forwarded codes die when the X11 server, which is actually your client, disconnects).

 

Requirements

  • A Compatible VNC Client (TurboVNC *HIGHLY* recommended.  TigerVNC will work, but slower.  RealVNC and the built in Mac client lack necessary protocol and/or encryption support)

The instructions below utilize the recommended VNC client (TurboVNC).


 

Task 1 - Start a VNC Session on Calc


  1. Open the Terminal and SSH to calc with one of the following commands, replacing "username" with your own username
    ssh username@calc.dge.carnegiescience.edu
    ssh username@calc.dpb.carnegiescience.edu

  2. Log in with your Carnegie credentials

  3. Create a new VNC session with the command: vncserver
    Take note of the "display" number (the number after the colon).  We'll use this number in the next task.


  4. You can exit out of this terminal if you wish.  The VNC server that was started will persist until you shut it down or Calc is rebooted.


Task 2 - Create an SSH Tunnel (if necessary)

 

  1. If you are on DPB/DGE's ethernet network, or are connected to the DPB/DGE VPN, skip to task 3.

  2. If not, follow our instructions on SSH tunneling, using the following information

    • "Target" Server: localhost
    • "Target Port": 5900 + the "display" number noted above.  If you can't remember your display number, you can look it up on Calc with the following command: vncserver -list
    • "SSH Gateway": calc.dge.carnegiescience.edu or calc.dpb.carnegiescience.edu

  3. Take note of the "high port" you use when creating the tunnel to Calc


Step 3 - Connect to Your VNC Session


  1. Open the TurboVNC Viewer app
    If this is the first time you've opened the app, click on "Options"
    Otherwise, skip to step 3


  2. Set the encoding to "Tight + Medium".  This setting proved to be the best ballance in quality vs bandwidth vs load in our testing.
    Once set, you can save this as the default under the Global tab.


  3. Connect to either:

    • Ethernet and VPN: either
                        calc.dge.carnegiescience.edu:#
                        calc.dpb.carnegiescience.edu:#
                        (where # is your "display" number from task 1)

    • SSH Tunneling: localhost:##### (where ###### is the local "high" port for the SSH tunnel established in task 2)


  4. Login with your Carnegie credentials


  5. You are now connected to Calc, graphically



Step 4 - Close Your VNC Session

  • If you would like to close your remote desktop, you can issue the command: vncserver -kill :#
    where # is the display number of your remote desktop session.  If you can't remember it, you can find it with the command: vncserver -list