Conventions and Tools » History » Version 28

« Previous - Version 28/48 (diff) - Next » - Current version
Keith Matera, 05/10/2016 01:25 PM

Conventions and Tools


The user interface environment to the DAQ system is hosted in VNC servers running on DAQ cluster computers at various sites. Users interact with these via VNC viewers hosted on control room desktops, and for experts, on their own desktop or laptop.

The NovaControlRoom package contains icons and scripts to automatically set up the needed ssh tunnels, and launch the VNC viewers. See docdb-8406 for a User's Guide.

VNC Servers

To set up VNC servers for the control room, see the VNC Setup How-To.

VNC Viewers

The command to start a viewer is including in the script launched by the desktop icons described in the User's Manual mentioned above, but the underlying command is of the form

 vncviewer -Fullscreen -Shared -passwd ~/.vnc/passwd :<NN> 

 -Fullscreen # starts in full screen mode
 -Shared # keeps other users from getting disconnected from the server when you connet
 NN # two-digit port number (relative to 5900) 


VNC Servers

In the current model (as of 2016-05-10), we employ 2 VNC servers for each detector. In order to allow for different desktop environments on a single host machine, each VNC server on is run under a different account, using a dedicated port. We tend to use certain servers for particular functions, but this is subject to change.

The table below gives the VNC server host name used for each system:

Abbreviation Host Used in standard ROC?
NDOS novadaq-ctrl-master No
NDSBTest novadaq-ctrl-master No
FarDet novadaq-far-master-02 Yes
NearDet novadaq-near-master Yes
NearGateway novadaq-near-gateway-01 Yes

(See novadaq_apdtest for more information on NDSBTest)

The next table gives machine, account, and port information for each of the six stations used at a Remote Operation Center (ROC):

Station Functions Host Account Remote Port Local Port
1 FD Run Control
Message Logger
FarDet novacr01 5951 5981
2 FD Event Display
Online Monitoring
APD Cooling GUI
FarDet novacr02 5952 5982
3 Synoptics NearGateway novacr03 5902 ????
4 Camera pages
beam pages
See webpage described below
5 ND Run Control
Message Logger
NearDet novacr01 5951 5991
6 ND Event Display
Online Monitoring
APD Cooling GUI
NearDet novacr02 5952 5992

The servers for each of these is set up to occupy a 2x2 monitor grid, with total pixel count 3840x2160.

Two VNC servers run on the nova-daq-04 Control Room desktop in the Fermilab 1st floor control room, hosting webcam displays. From off-site, webcam and beam pages can be found on the What to do on Shift links site.

This last table gives machine, account, and port information for all VNC sessions, including those not currently in use by a standard Remote Operation Center:

Host Remote Port Local Port ROC standard?
NDOS 5951 5961 No
NDOS 5952 5962 No
NDOS 5953 5963 No
NDSBTest 5955 5971 No
NDSBTest 5956 5972 No
NDSBTest 5957 5973 No
FarDet 5951 5981 Yes
FarDet 5952 5982 Yes
FarDet 5953 5983 No
NearDet 5951 5991 Yes
NearDet 5952 5992 Yes
NearDet 5953 5993 No
NearGateway 5902 ???? Yes

Note that VNC has a port base of 5900. However, in addition to the VNC connection itself, it also uses a port for the X11 connection 100 higher than the VNC port. Since general X11 connections use ports starting at 6010, and assuming less than 40 open connections is a safe bet, a good assumption for VNC port ranges that avoid conflicts with X11 would be 5900-5909 and 5950-5999.

ssh Tunnels

ssh tunnels are required to access the port for a VNC server on a remote host (e.g., for station 1 on NDOS) from a localhost (e.g., your laptop, or a control room desktop). Once launched, the tunnel can remain active indefinitely. The ssh command has the form

ssh -L <local_port>:localhost:<remote_port> -N -f -l <remote account> <remote host> 

The ssh tunnel is authenticated using a kerberos ticket on the localhost, usually for a special use (i.e., non-personal) principle. That principle must be in the k5login file for the remote account, and the remote host must be directly reachable from the localhost (i.e., the localhost must be in the domain.)

Since a single desktop will often have connections to the "same" display on multiple detectors, we need to have localhost port assignments vary by detector. The scheme in use by the NovaControlRoom package is


On Windows, using RealVNC Viewer (renamed to vncviewer.exe), MIT Kerberos for Windows, and plink; the following batch file (FarDet1.bat) connects to the first screen of the Far Detector:
Start plink -ssh -L 5981:localhost:5981 <Principal>@<Gateway> "ssh -L 5981:localhost:5951 -N "
start vncviewer -Shared -passwd passwd localhost:81

passwd is a file with the MD5'd VNC viewer password, and <Gateway> is a machine connected to the Fermilab network accessible from the outside. Using the tables above, it is possible to connect to any detector/station combination.