A VNC desktop session can be started on the compute nodes of Alps vclusters calling the script startvncdesktop, if the latter is available on the selected system. Please note that you will need to install a VNC viewer on your local machine as well, like:

  • RealVNC Viewer
  • TigerVNC Viewer
  • TightVNC Viewer

Please search online the instructions to install the VNC viewer, that might depend on your local operating system.

Step-by-step guide


  1. Please check the availability of startvncdesktop on the selected system with the command which startvncdesktop  
  2. Adjust the following Slurm batch script, that targets the system Eiger.Alps as an example and provide an <executable>   
    #!/bin/bash
    #
    # VNC desktop on a compute node of Alps
    #
    # 1 node, 1 task per node
    #
    #SBATCH --job-name="vncdesktop"
    #SBATCH --output=vncdesktop.out
    #SBATCH --nodes=1
    #SBATCH -t 1:00:00
    #SBATCH -C mc&startx
    
    if [ ! -e $HOME/.vnc/passwd ] ; then
      echo "For your protection, please run 'vncpasswd' before using vnc"
      exit 1
    fi
    
    echo "VNC Server accepting connections on 5901"
    echo "Please choose a local free port (e.g. 60010) on the client machine and run the commands below"
    echo "  ssh -f -L 60010:${HOSTNAME}:5901 -J $USER@ela.cscs.ch $USER@eiger.cscs.ch sleep 3600"
    echo "  vncviewer localhost:60010"
    echo "  You may use any available non-privileged port on your system in place of 60010."
    sync
    srun -n1 /usr/local/bin/startvncdesktop 1920x1080 <executable>
  3. Once the Slurm job has started successfully on a compute node of the selected system, please check the Slurm output file and follow the instructions on your local (client) machine to connect remotely to the VNC server running on the allocated node