|Availability||bwUniCluster_2.0 | BwForCluster_JUSTUS_2|
TigerVNC is a high-performance implementation of Virtual Network Computing (VNC). VNC is a client/server application that allows users to launch and interact with graphical applications on remote machines. It is usually faster than standard X11 forwarding and thus should be used if a graphical software feels slow and has bad responsiveness.
TigerVNC is available on selected bwHPC-Clusters. A complete list of versions currently installed on the bwHPC-Clusters can be obtained from the Cluster Information System (CIS).
3 VNC Server
First, you have to start the VNC Server on the cluster. The startup procedure depends on the cluster and hardware you are using.
- VNC Server - bwUniCluster 2.0
- VNC Server - bwForCluster Chemistry
- VNC Server - bwForCluster Chemistry - 3D Acceleration
4 VNC Client
The startup script of the VNC Server should have printed out detailed instructions about how to establish a connection to the VNC Server from your local computer. These instructions depend on the operating system (e.g., Linux/macOS, MS Windows) you are using and if you work with TurboVNC Java Viewer which is a tool that can simplify the handling but needs the Java Development Kit (JDK) to run. Therefore, the next steps are divided into three cases. The commands should be executed on the local computer.
- Login using TurboVNC Java Viewer
Needed software: TurboVNC, JDK
Open the TurboVNC Java Viewer and navigate to Options... -> Security -> Gateway to fill in the parameters provided by the run_vncserver script. You can save these settings in the "Global" tab if you want to. Subsequently, click "OK" and connect to the cluster by supplying the VNC Server as given to you by run_vncserver. Before the connection is established, you should be prompted for your SSH and VNC password, respectively.
- TigerVNCLinux Debian-based
sudo apt install tigervnc-viewerfill in information supplied by run_vncserver, e.g.
- Login using TightVNC Java Viewer
Needed software: TightVNC
Start the TightVNC Viewer: On Linux, open a terminal and execute the following command:
$ java -jar tightvnc-jviewer.jar. On Windows, just double-click tightvnc-jviewer.jar in the Windows Explorer.
Fill in the parameters given to you by the run_vncserver script (see example below), add your username at SSH User, and press connect to establish a VNC session.
- Login without TurboVNC Java Viewer for Linux users
Needed software: A VNC Client such as TurboVNC
A SSH tunnel must be created with the command given to you by the run_vncserver script, e.g.:
$ ssh -fCL 5903:localhost:5903 <UserID>@justus2-vis01.rz.uni-ulm.de
Start your VNC Client and connect to localhost:n, where n is the display number, using the command given to you by the run_vncserver script. E.g.:
$ vncviewer localhost:3
- Login without TurboVNC Java Viewer for Windows users
Needed software: TigerVNC, Putty
Start Putty and navigate to Connection -> SSH -> Tunnels to fill in the parameters provided by the run_vncserver script. Subsequently, clicked "Add" and navigate to Session to connect with the cluster using your username and password. Once the connection is established, start the TigerVNC Client and connect to localhost:n, where n is the display number provided by run_vncserver.
5 Shutdown your VNC session
To exit your VNC session it is not sufficient to only close the VNC viewer, since this will not terminate the VNC Server. The VNC Server will keep running and you will run into problems when you try to start a new VNC session later on. Please use the "log out" function of the desktop environment inside the VNC session, this will terminate the VNC server properly. Alternatively, you can terminate the VNC Server on the compute cluster using
$ vncserver -kill :n
with n specifying the display number.
6 OpenGL applications within VNC sessions
Executing an OpenGL program during a 3D accelerated VNC session will issue an error. In order to fix this, open a terminal window and run your application through the VirtualGL wrapper using the vglrun command like in the following example for the benchmark application glxgears:
$ vglrun glxgears -info