Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.eso.org/~qc/procs/VNC/index.html
Дата изменения: Wed Jan 30 16:35:23 2008 Дата индексирования: Sun Apr 13 19:09:01 2008 Кодировка: Поисковые слова: carl sagan |
QC Procedure: DFOS operations under VNC |
|||||||
|
This page describes how to use VNC within the DFOS dataflow for the automatic processes (and any others you want to), in particular autoDaily and trendPlotter, thus breaking the dependance (if any) of these processes on having your desktop PC/X-terminal up and running and logged in. Mark Neeser introduced the QC group to VNC with a Weekly Meeting presentation which you can review here, or as a PDF.
In principle one can run an unlimited number of VNC instances on any workstation, each one providing a separate X environment, each one corresponding to a separate integer, 1, 2, 3, 76... I have had problems though with getting all possible numbers to work, but I don't know why... However you probably really only want one VNC instance per instrumental account where autoDaily, smMonitor and perhaps other tasks requiring X and run regularly via cronjobs will work. You probably want to have separate VNC displays for your operational and your pre-Imaging accounts (check with Sabine for pre-Imaging specific issues). Personally, I do ngasMonitor, and hence autoDaily on one display, and ALL other regular DFOS cron tasks in a 2nd display, just to be sure that any windows that are opened by tasks other than autoDaily do not open up on top of MIDAS displays being copied to PS for QC-reports.
For demonstration purposes I will use the example of VNC display 1 on dfo01, obviously you will want to change the values in the following commands according to your particular needs. Best to start VNC manually when running for the first time. To do so: vncserver :1 -depth 24 -geometry 1280x1024 vncpasswd vncviewer dfo01:1 -Shared vncserver -kill :1
Assuming the uves.chkVNCserver script (see below) has been installed in $HOME/bin, add the following entry to your crontab: */5 * * * * export TZ=Europe/Berlin; $HOME/bin/uves.chkVNCserver -N 1 This will check every 5 mins that VNC display :1 is running, and if not start it up. Of course if it is running then the script does nothing... For multiple displays: */5 * * * * export TZ=Europe/Berlin; $HOME/bin/uves.chkVNCserver -N 1 -N 2 etc... you can give as many -N <N> options as you like. You should recieve an email whenever the VNC display(s) are started up. You can also use this script to stop the VNC displays, e.g.: uves.chkVNCserver -N 1 -N 2 --STOP See the help for more info: uves.chkVNCserver -h
By default, VNC will try to use the twm windowmanager (which almost certainly does not exist on your system, and which is awful anyway). By now though xfce should be installed on your system. To use it dowload this xstartup script into you ${HOME}/.vnc directory and make it executable. chmod a+rx ${HOME}/.vnc/xstartup
Almost nothing could be simpler... Just add export DISPLAY=dfo01:1 at the begining of each cronjob process you need to run in the VNC display, e.g.: 00 20 * * * export DISPLAY=dfo01:1 ; $HOME/bin/dfosCron -t ngasMonitor > $HOME/crontabs/LOGS/dfosCron.ngasMonitor 2>&1 Be sure that you do not set the DISPLAY variable explicitly in any scripts that you run, or in any rc files (e.g. .qcrc, .dfoscrc or the .pecs files) that your scripts might run. Note that processAB, when run from Condor sources your .bashrc file and thus eventually sources you .pecs, .qcrc and .dfosrc files. In principal, I can not think of any reason why you would want to set the DISPLAY explicitly in any of your rc files.
Once the VNC server is running you can start a VNC viewer software from anywhere in the world (using VPN from outside ESO's firewall) to check on progress and/or run jobs manually. On our ESO desktop PCs running Linux: vncviewer dfo01:1 -Shared Once the desktop appears you can work as on any X-terminal... Mark's presentation (above) gives info on VNC clients for other platforms.
| ||||||||
|
||||||||
|