Project

General

Profile

VNCSetup

Updated 2013-04-09

Port Assignments

The use of different local client ports and user accounts is needed to allow multiple VNC servers at one time. See the wiki on VNC conventions for the correct port assignments.

Starting vncservers

Initial (one-time) VNC setup per account/host

  1. init vncpasswd via
    vncpasswd
  2. get an ~/.vnc/xstartup script to work with:
    vncserver :99 -localhost  # you may need to pick a different port if 5999 is already in use on the node
    vncserver -kill :99
    
  3. edit .vnc/xstartup to try to start kde if possible, twm if not.
    if hash startkde 2>/dev/null;then
    echo starting kde
    startkde &
    else
    echo starting twm
    twm &
    fi
    

    instead of just
    twm &
  1. Set up a script with the correct geometry

A simple script /home/<user>/bin/start-vncserver.sh should exist for each VNC server, and archived in CVS as part of the NovaControlRoom package. <user>=novacr01,02, etc.. All that is needed is a start command with the correct geometry:

Each monitor is 1920x1080, so for 2x2 we have:

vncserver :<NN> -geometry 3840x2160 -localhost # 4 monitors

If 2 monitors stacked vertically would be used, the command would be

vncserver :<NN> -geometry 1920x2160 -localhost # 2 monitors (stacked vertically)

Re/Start of Previously Set-up VNC Viewer

Rarely, a VNC server may need to be (re)started

To attempt to start all servers on a detector:
  • /home/novadaq/bin/start-vncservers.sh # lives in the NovaControlRoom package

    If one is already running, it will not be restarted. This is not a problem if the session is functional.
To attempt to restart a single server, do as the corresponding user (novacr01, etc.)
  • /home/<user>/bin/start-vncserver.sh 

Recovering from a dysfunctional server:

If it is already running, but dysfunctional (not accepting input, frozen, etc.), it will need to be killed first:
  •  vncserver -kill :<port> 
    where <port> is the 2-digit port number.
  • Proceed with instructions in above section
  • Cleanup any left-behind DAQ processes and DDS servers
  • Restart the DAQ