Remote Visualization

Table of Contents

Introduction
Getting an Account
Supported Data Analysis and Visualization Servers
Using the VirtualGL VNC Server From the NCAR Internal Network
Using the VirtualGL VNC Server From an External Network

Introduction

DASG offers a VNC based service, Sun VirtualGL provideing remote display of OpenGL applications with full 3D hardware acceleration from DASG's Visualization cluster. VirtualGL also offers better remote performance of X based applications running on DASG's Data Analysis cluster. VirtualGL requires a VNC client on your local machine. We recommend TurboVNC as it has been optimized for use with VirtualGL.

For more information on VirtualGL see the project web site at http://www.virtualgl.org

Getting an Account

Before using DASG's Remote Visualization tools, you must obtain a Lab account. All account requests are handled through the CISL Resource Allocation Process. While we don't currently charge for the use of Lab resources, you will need to have an allocation for Mass Store use and to obtain your Lab account. To request an account either fill out a Customer Support Ticket or call Customer Support at 303-497-1200.

Supported Data Analysis and Visualization Servers

VirtualGL is supported on the Data Analysis cluster, the Visualization cluster, and the TeraGrid DAV cluster. If you need to run a 3D OpenGL based application, you will want to use the Visualization cluster (or the TeraGrid DAV if you are a TeraGrid user). If you wish to run an X based graphics application, you will want to use the Data Analysis cluster.

Visualization Cluster storm0, storm1, storm2, storm3, storm4, storm5
Data Analysis Cluster gale, breeze, gust, hail
TeraGrid DAV twister

Presently there is no automated resource management for VirtualGL. Since OpenGL applications require direct access to graphics hardware, we suggest checking the status of the cluster before selecting a node, choosing a node with the minimum number of VNC users and no HP RGS sessions.

Using the VirtualGL VNC Server From the NCAR Network or the TergGrid

If your desktop system is directly connected to the NCAR network, or if you are a TeraGrid user, these are the instructions you should follow. If your desktop system is connected to a network outside of NCAR, follow the instructions for using the VirtualGL server from an external network.

Short Version

      desktop [1] ssh storm0.scd.ucar.edu
      CryptoCard Challenge "34219310": enter your code here
      storm0 [1] /opt/TurboVNC/bin/vncserver -geometry 1280x1024

      New 'X' desktop is storm0:1

      Starting applications specified in /fs/home/testuser/.vnc/xstartup
      Log file is /fs/home/testuser/.vnc/storm0:1.log
   
      desktop [2] vncviewer
         storm0.scd.ucar.edu:1
         enter your passwd

      storm0 (1) source /fs/local/bin/vapor-setup.csh
      storm0 (2) vglrun vaporgui

      Close your vnc desktop window
      Exit your vnc client

      storm0 [2] /opt/TurboVNC/bin/vncserver -kill :1
      storm0 [3] exit

Long Version

Client Software

The TurboVNC client is optimized for use with VirtualGL. Other VNC clients may work, however we recommend TurboVNC for the best performance. For Linux installations you will also need the TurboJPEG libraries. These are both available from the VirtualGL Downloads page. Installation instructions are also available.

You will also need an SSH client. Both Linux and Mac system have SSH installed by default. For Windows, you will need to install an SSH client or Cygwin and OpenSSH. The examples below will work well with Cygwin. If you are using another SSH client, you should be able to use the commands below to configure your client.

Starting up the VNC server

A VNC server must be started on a cluster node at the beginning of each session.

1. Choose an appropriate node in one of the clusters to login to. For this example we will use storm0.scd.ucar.edu.

      desktop [1] ssh storm0.scd.ucar.edu
      CryptoCard Challenge "34219310": enter your code here
      storm0 [1]

Note: In Mac OS X 10.4 or earlier, this must be run from an xterm window.

2. Start the VirtualGL VNC server.

      storm0 [2] /opt/TurboVNC/bin/vncserver -geometry 1280x1024

      New 'X' desktop is storm0:4
          
      Starting applications specified in /fs/home/testuser/.vnc/xstartup
      Log file is /fs/home/testuser/.vnc/storm0:4.log

Note: You may specify a different screen geometry if you wish.

If this is being run for the first time as your user, it may instruct you to configure a password for VNC. Please create a unique password for your VNC sessions. These passwords are not secure, so please don't use your normal login password.

Setting a VNC password

      storm0 [3] /opt/TurboVNC/bin/vncpasswd

3. Record the display number reported by the VNC server after the visualization server name. In the example above the display number is 4. You will need the display number later to connect the VNC client to the VNC server and to terminate the VNC server when you are finished.

Starting the TurboVNC viewer

1. Start the TurboVNC viewer on your local machine.

Note: Other VNC viewers may be used if necessary, but TurboVNC will in general provide the best performance. If you are using a PowerPC based Mac and TSclientX, you may follow these alternate instructions for this step.

Linux and Mac - From a shell window

      desktop [1] /opt/TurboVNC/bin/vncviewer

Note: In Mac OS X 10.4 or earlier, this must be run from an xterm window.

Windows

      From the Start Menu
        Select "TurboVNC" folder
          Run "TurboVNC Viewer"       

2. A dialog pop up should appear. Enter the visualization server hostname, followed immediately by a ":", followed immediately by the display number you recorded earlier as described under "Starting up the VNC server" above. Click 'Connect' if necessary. For example:

      storm0.scd.ucar.edu:4

3. Another dialog pop up should appear asking you for your passwd. This is your VNC passwd that you configured on the Visualization server.

You should see a virtual desktop on the server you connected to. If you don't get a terminal window by default, right click on the desktop and select Open Terminal.

Running an OpenGL application

From the Terminal window on the virtual desktop, you must use the vglrun command to start any OpenGL application.

      storm0 [1] source /fs/local/bin/vapor-setup.csh
      storm0 [2] vglrun vaporgui

Running an X application

From the Terminal window on the virtual desktop, run the X application like you would normally.

      storm0 [2] matlab

Exiting

When you have completed your work in this session, please make sure that you exit your TurboVNC client and terminate your VNC server. This will allow others to utilize the resources.

1. Exit you TurboVNC client on your local machine.

2. Kill your VNC server on the Visualization server.

You will use the display number you received when you started your VNC server to also kill your server.

      storm0 [1] /opt/TurboVNC/bin/vncserver -kill :4

3. Logout of the server

Note: The :4 is the display number you were originally assigned. This will not always be a 4.

Using the VirtualGL VNC Server From an External Network

If your desktop system is connected to a network outside of NCAR, these are the instructions you should follow. If your desktop system is connected to the NCAR network, follow the instructions for using the VirtualGL server from the internal NCAR network.

Note:You will use your NCAR username when connecting to the gateway and visualization systems. This may not be the same as your username on your local machine.

Short Version

      desktop [1] ssh username@gate.ucar.edu
      CryptoCard Challenge "34219310": enter your code here
      UCAR SSH Proxy (? for help)> storm0.scd.ucar.edu
      CryptoCard Challenge "23458792": enter your code here
      storm0 [1] /opt/TurboVNC/bin/vncserver -geometry 1280x1024

      New 'X' desktop is storm0:1

      Starting applications specified in /fs/home/testuser/.vnc/xstartup
      Log file is /fs/home/testuser/.vnc/storm0:1.log
      storm0 [2] exit 
     
      desktop [2] ssh -L 5901:storm0.scd.ucar.edu:5901 username@gate.ucar.edu
      CryptoCard Challenge "56839032": enter your code here
      UCAR SSH Proxy (? for help)> storm0.scd.ucar.edu
      CryptoCard Challenge "25789234": enter your code here
      storm0 [1]

      desktop [2] vncviewer
         localhost:1
         enter your passwd

      storm0 (1) source /fs/local/bin/vapor-setup.csh
      storm0 (2) vglrun vaporgui

      Close your vnc desktop window
      Exit your vnc client

      In your SSH Tunnel window:
      storm0 [2] /opt/TurboVNC/bin/vncserver -kill :1
      storm0 [3] exit

Long Version

Client Software

The TurboVNC client is optimized for use with VirtualGL. Other VNC clients may work, however we recommend TurboVNC for the best performance. For Linux installations you will also need the TurboJPEG libraries. These are both available from the VirtualGL Downloads page. Installation instructions are also available.

You will also need an SSH client. Both Linux and Mac system have SSH installed by default. For Windows, you will need to install an SSH client or Cygwin and OpenSSH. The examples below will work well with Cygwin. If you are using another SSH client, you should be able to use the commands below to configure your client.

Note: You may use ssh-agent to manage your SSH keys to login to either of the clusters. You will still need to use your CryptoCard to access gate.ucar.edu. You will need to add a '-A' to your ssh commands to use key forwarding.

Starting up the VNC server

A VNC server must be started on a cluster node at the beginning of each session.

1. Choose an appropriate node in one of the clusters to login to. For this example we will use storm0.scd.ucar.edu.

      desktop [1] ssh username@gate.ucar.edu
      CryptoCard Challenge "34219310": enter your code here
      UCAR SSH Proxy (? for help)> storm0.scd.ucar.edu
      CryptoCard Challenge "25789234": enter your code here
      storm0 [1]

Note: In Mac OS X 10.4 or earlier, this must be run from an xterm window.

2. Start the VirtualGL VNC server.

      storm0 [2] /opt/TurboVNC/bin/vncserver -geometry 1280x1024

      New 'X' desktop is storm0:4
          
      Starting applications specified in /fs/home/testuser/.vnc/xstartup
      Log file is /fs/home/testuser/.vnc/storm0:4.log

Note: You may specify a different screen geometry if you wish.

If this is being run for the first time as your user, it may instruct you to configure a password for VNC. Please create a unique password for your VNC sessions. These passwords are not secure, so please don't use your normal login password.

Setting a VNC password

      storm0 [3] /opt/TurboVNC/bin/vncpasswd

3. Record the display number reported by the VNC server after the visualization server name. In the example above the display number is 4. You will need the display number later to connect the VNC client to the VNC server and to terminate the VNC server when you are finished.

Setup an SSH Tunnel

1. From a new xterm on your desktop, start an SSH tunnel connected to the VNC server you started above. The syntax is as follows:

      ssh -L {5900+n}:host:{5900+n} user@gate.ucar.edu

where n is the display number you recorded after invoking the VNC server, host is the hostname for the visualization server, and user is your user name on the visualization server.

Example

      desktop [1] ssh -L 5904:storm0.scd.ucar.edu:5904 username@gate.ucar.edu
      CryptoCard Challenge "56839032": enter your code here
      UCAR SSH Proxy (? for help)> storm0.scd.ucar.edu
      CryptoCard Challenge "25789234": enter your code here
      storm0 [1]

Starting the TurboVNC viewer

1. Start the TurboVNC viewer on your local machine.

Note: Other VNC viewers may be used if necessary, but TurboVNC will in general provide the best performance. If you are using a PowerPC based Mac and TSclientX, you may follow these alternate instructions for this step.

Linux and Mac - From a shell window

      desktop [1] /opt/TurboVNC/bin/vncviewer

Note: In Mac OS X 10.4 or earlier, this must be run from an xterm window.

Windows

      From the Start Menu
        Select "TurboVNC" folder
          Run "TurboVNC Viewer"       

2. A dialog pop up should appear. To use the SSH tunnel that you setup earlier, enter 'localhost' followed immediately by a ":", followed immediately by the display number you recorded earlier. Click 'Connect' if necessary. For example:

      localhost:4

3. Another dialog pop up should appear asking you for your passwd. This is your VNC passwd that you configured on the Visualization server.

You should see a virtual desktop on the server you connected to. If you don't get a terminal window by default, right click on the desktop and select Open Terminal.

Running an OpenGL application

From the Terminal window on the virtual desktop, you must use the vglrun command to start any OpenGL application.

      storm0 [1] source /fs/local/bin/vapor-setup.csh
      storm0 [2] vglrun vaporgui

Running an X application

From the Terminal window on the virtual desktop, run the X application like you would normally.

      storm0 [2] matlab

Exiting

When you have completed your work in this session, please make sure that you exit your TurboVNC client and terminate your VNC server. This will allow others to utilize the resources.

1. Exit you TurboVNC clienst on your local machine.

2. Kill your VNC server on the Visualization server.

You will use the display number you received when you started your VNC server to also kill your server.

      storm0 [1] /opt/TurboVNC/bin/vncserver -kill :4

3. Logout of all server windows. This will include the window you started the VNC server from and the window that you created your SSH tunnel through.

Note: The :4 is the display number you were originally assigned. This will not always be a 4.