home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / TEDdesk / reloc.8 / $TED_DIR / bin / Xsession < prev   
Text File  |  1998-08-19  |  18KB  |  702 lines

  1. #!/bin/ksh
  2.  
  3. # ###########################################################################
  4. #
  5. #   Xsession
  6. #
  7. #   TriTeal Enterprise Desktop (TED)
  8. #
  9. #   Configuration script for the Login Manager
  10. #
  11. #   (c) Copyright 1994  TriTeal Corporation 
  12. #   (c) Copyright 1993, 1994 Hewlett-Packard Company
  13. #   (c) Copyright 1993, 1994 International Business Machines Corp.
  14. #   (c) Copyright 1993, 1994 Sun Microsystems, Inc.
  15. #   (c) Copyright 1993, 1994 Novell, Inc.
  16. #
  17. #       ************** DO NOT EDIT THIS FILE **************
  18. #
  19. #   /usr/dt/bin/Xsession is a factory-default file and will
  20. #   be unconditionally overwritten upon subsequent installation.
  21. #   Modification is discouraged.
  22. #
  23. #   $XConsortium: Xsession.src /main/cde1_maint/7 1995/11/17 14:43:10 gtsang $
  24. #
  25. #   @(#)TED Version: TED 4.2 Alpha 99-4200-00
  26. #   @(#)TED FileVersion: Xsession: $Id: Xsession.src,v 1.6 1997/11/26 19:37:07 marye Exp $
  27. #
  28. # ###########################################################################
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80. # ###########################################################################
  81. #   This script starts the user's session. It searches for one of three
  82. #   types of startup mechanisms, in the following order:
  83. #     DT     existence of CDE DT Session Manager on the system
  84. #     XDM    "$HOME/.xsession" (executable)
  85. #     xinit  "$HOME/.x11start"  (executable)
  86. #   If none of these startup mechanisms exist, a default window manager
  87. #   and terminal emulator client are started.
  88. # ##########################################################################
  89.  
  90. #
  91. # Variables must be explicitly exported
  92. set +a
  93.  
  94. # ###########################################################################
  95. #   Initialize session startup logging
  96. # ##########################################################################
  97.  
  98.  
  99. #
  100. # send startlog setup errors to a temporary log file so problems are easier
  101. # to debug.  the file is /var/dt/tmp/<username>_DISPLAY=<display>.
  102. # this works when there are only one or two users obtaining a session from a
  103. # host, but there is a potential to fill up /var (or even use all inodes) if
  104. # there are, say, two hundred users with X terminals trying to obtain
  105. # sessions.  so if the file doesn't contain anything, we will remove it below,
  106. # after the startlog has been setup.
  107. #
  108.   exec >/var/dt/${USER}_DISPLAY=${DISPLAY} 2>&1
  109.  
  110.  
  111.   LOGDIR=$HOME/.dt
  112.   LOGFILENAME=$LOGDIR/startlog
  113.   
  114.   if [ ! -d $LOGDIR ]; then
  115.     \mkdir $LOGDIR
  116.     if [ -d $LOGDIR ]; then
  117.       \chmod 755 $LOGDIR
  118.     fi
  119.   fi
  120.  
  121.   [ -f $LOGFILENAME.older ] && \rm -f $LOGFILENAME.older
  122.   [ -f $LOGFILENAME.old ] && \mv -f $LOGFILENAME.old $LOGFILENAME.older
  123.   [ -f $LOGFILENAME ] && \mv -f $LOGFILENAME $LOGFILENAME.old
  124.   \touch $LOGFILENAME
  125.  
  126.   if [ -w $LOGFILENAME ]; then
  127.     \exec >>$LOGFILENAME 2>&1
  128.   fi
  129.  
  130.  
  131. #
  132. # remove the temporary log file used to track startlog setup errors, if and
  133. # only if it is empty.
  134. #
  135. if [ ! -s /var/dt/${USER}_DISPLAY=${DISPLAY} ]
  136. then
  137.    \rm /var/dt/${USER}_DISPLAY=${DISPLAY}
  138. fi
  139.  
  140.  
  141.  
  142.   Log()
  143.   {
  144.     echo "--- $1" >>$LOGFILENAME 2>&1
  145.   }
  146.  
  147.   Log "$(date)"
  148.   Log "$0 starting..."
  149.  
  150.  
  151.  
  152. # ###########################################################################
  153. #   Global environment section
  154. #    DT pre-sets the following environment variables for each user.
  155. #    
  156. #     (internal)
  157. #     DISPLAY      set to the value of the first field in the Xservers file.
  158. #     HOME         set to the user's home directory (from /etc/passwd)
  159. #     LANG         set to the display's current NLS language (if any)
  160. #     LC_ALL       set to the value of $LANG
  161. #     LOGNAME      set to the user name
  162. #     PATH         set to the value of the Dtlogin "userPath" resource
  163. #     USER         set to the user name
  164. #     SHELL        set to the user's default shell (from /etc/passwd)
  165. #     TZ           set to the value of the Dtlogin "timeZone" resource
  166. #
  167. #     (Xsession)
  168. #     TERM         set to xterm
  169. #     EDITOR       set to the default editor
  170. #     KBD_LANG     set to the value of $LANG for certain languages
  171. #     MAIL         set to "/var/mail/$USER"
  172. #    Three methods are available to modify or add to this list depending 
  173. #    on the desired scope of the resulting environment variable. 
  174. #    
  175. #     1. X server and/or all users on a display       (Xconfig file)
  176. #     2. all users on a display                       (Xsession file)
  177. #     3. individual users                             (.dtprofile file)
  178. #    See DT on-line help, the DT Users Guide, or the Dtlogin(1X) man
  179. #    page for details on setting environment variables.
  180. #     
  181. #     
  182. #      
  183. # ###########################################################################
  184.  
  185.   [ -z "$EDITOR" ] && EDITOR=/usr/dt/bin/dtpad
  186.  
  187.  
  188.   [ -z "$LANG" ] && LANG="C"
  189.   TERM=dtterm
  190.  
  191.   set `LANG=C LC_ALL=C /usr/bin/id`
  192.   if [ $1 != "uid=0(root)" ]; then
  193.     export PATH=/sbin:$PATH
  194.   fi
  195.  
  196.  
  197.  
  198.   SESSION_SVR=`uname -n`
  199.  
  200.   export PATH EDITOR MAIL TERM SESSION_SVR LANG
  201.  
  202.  
  203.  
  204.  
  205.   if [ -z "$XFILESEARCHPATH" ]
  206.   then
  207.  
  208.        XFILESEARCHPATH=/usr/lib/X11/locale/%L/%T/%N%C%S:/usr/lib/X11/locale/%l/%T/%N%C%S:/usr/lib/X11/locale/%L/%T/%N%S:/usr/lib/X11/locale/%l/%T/%N%S:/usr/lib/X11/%L/%T/%N%C%S:/usr/lib/X11/%l/%T/%N%C%S:/usr/lib/X11/%T/%N%C%S:/usr/lib/X11/%L/%T/%N%S:/usr/lib/X11/%l/%T/%N%S:/usr/lib/X11/%T/%N%S:/usr/lib/X11/locale/C/%T/%N%C%S:/usr/lib/X11/locale/C/%T/%N%S
  209.  
  210.        export XFILESEARCHPATH
  211.   fi
  212.  
  213.   LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/X/lib export LD_LIBRARY_PATH
  214.  
  215.   XWINHOME=/usr/X export XWINHOME
  216.   DT=no export DT
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.   #
  225.   # check if network is configured. If not, set environment variable
  226.   # so that tooltalk will use localhost/loopback rather than system
  227.   # name
  228.   status="1"
  229.  
  230.  
  231.  
  232.   netstat -i | awk '                                             \
  233.      {                                                           \
  234.         if ( NR > 1 && NF > 1 )                                  \
  235.         {                                                        \
  236.            if ( $3 != "loopback" )                               \
  237.            {                                                     \
  238.               if ( ( $3 == "none" && $4 == "none" ) ||           \
  239.                    ( $3 == "0" && $4 == "0.0.0.0" ) )            \
  240.               {                                                  \
  241.                 #Network is not connected                        \
  242.                 exit 0                                           \
  243.               }                                                  \
  244.               else                                               \
  245.               {                                                  \
  246.                 #Network is connected                            \
  247.                 exit 1                                           \
  248.               }                                                  \
  249.            }                                                     \
  250.         }                                                        \
  251.      }'
  252.   status=$?
  253.  
  254.  
  255.  
  256.   if [ "$status" = "0" ]
  257.   then
  258.      export DTNONETWORK=true
  259.   fi
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.   #
  270.   # Locate configuration file directories
  271.   #
  272.   XDIR="/usr/bin/X11"
  273.   DT_BINPATH=/usr/dt/bin
  274.   DT_INSTALL_CONFIG=/usr/dt/config
  275.   DT_CONFIG=/etc/dt/config
  276.   DT_CONFIG_PATH="$DT_CONFIG $DT_INSTALL_CONFIG"
  277.  
  278. # ###########################################################################
  279. #
  280. #  Default desktop component configuration variable settings
  281. #
  282. #  This section sets the default value for variables controlling
  283. #  some desktop components.
  284. #
  285. # ###########################################################################
  286.  
  287.   # 
  288.   # Input method server startup
  289.   # 
  290.   if [ -z "$DTSTARTIMS" ]; then
  291.      DTSTARTIMS=True
  292.   fi
  293.  
  294.   if [ "$DTSTARTIMS" = "False" ]; then
  295.      unset DTSTARTIMS
  296.   fi
  297.  
  298.   # 
  299.   # Default desktop screen saver action list 
  300.   #  
  301.   export DTSCREENSAVERLIST="StartDtscreenSwarm StartDtscreenQix \
  302.     StartDtscreenFlame StartDtscreenHop StartDtscreenImage StartDtscreenLife \
  303.     StartDtscreenRotor StartDtscreenPyro StartDtscreenWorm StartDtscreenBlank"
  304.  
  305.   # 
  306.   # Session startup clients and args
  307.   # 
  308.   if [ "$SESSIONTYPE" = "altDt" ]; then
  309.       dtstart_session[0]="$SDT_ALT_SESSION"
  310.       dtstart_hello[0]="$SDT_ALT_HELLO"
  311.   else
  312.       dtstart_session[0]="$DT_BINPATH/dtsession"
  313.       dtstart_hello[0]="$DT_BINPATH/dthello &"
  314.   fi
  315.   dtstart_session[1]="$HOME/.xsession"
  316.   dtstart_session[2]="$HOME/.x11start"
  317.   dtstart_session[3]="$XBIN/xterm -geometry 80x24+10+10"
  318.   dtstart_hello[1]="$XDIR/xsetroot -default &"
  319.   dtstart_searchpath="$DT_BINPATH/dtsearchpath -ksh"
  320.   dtstart_ttsession="$DT_BINPATH/ttsession -s"
  321.   dtstart_dtdbcache="$DT_BINPATH/dtdbcache -init"
  322.   dtdbcacherm="rm -f /tmp/dtdbcache_$DISPLAY"
  323.   dtstart_appgather="$DT_BINPATH/dtappgather &"
  324.  
  325.   dtstart_dsdm="$DT_BINPATH/dsdm &"
  326.  
  327.  
  328.   xdmstart_session[0]="$HOME/.xsession"
  329.   xdmstart_session[1]="/usr/lib/X11/xdm/Xsession"
  330.   xdmstart_session[2]="xterm -geometry 80x24+10+10 -ls"
  331.   xdmstart_hello="$XDIR/xsetroot -default &"
  332.  
  333.   SESSIONLOGDIR=$LOGDIR/sessionlogs
  334.   SESSIONLOGFILENAME="$SESSIONLOGDIR/$SESSION_SVR"_DISPLAY=$DISPLAY
  335.  
  336.   if [ ! -d $SESSIONLOGDIR ]; then
  337.     \mkdir $SESSIONLOGDIR
  338.     if [ -d $SESSIONLOGDIR ]; then
  339.       \chmod 755 $SESSIONLOGDIR
  340.     fi
  341.   fi
  342.  
  343.   touch $SESSIONLOGFILENAME
  344.  
  345.   if [ -w $SESSIONLOGFILENAME ]; then
  346.       dtstart_sessionlogfile="$SESSIONLOGFILENAME"
  347.   else
  348.       dtstart_sessionlogfile="/dev/null"
  349.   fi
  350.  
  351.   rm -f $SESSIONLOGFILENAME
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.   #
  362.   # Determine Xsession parent
  363.   #
  364.  
  365.  
  366.   pexec=$(LC_TIME=C ps -p $PPID | awk 'NR==2 {print $6}')
  367.  
  368.  
  369.   Log "Xsession started by $pexec"
  370.  
  371.  
  372. # ###########################################################################
  373. #  
  374. # Append desktop font aliases to font path
  375. #
  376. # ###########################################################################
  377.  
  378.  
  379.  
  380.  
  381.   if [ "${pexec##*/}" != "dtlogin" ]; then
  382.     #
  383.     # If Xsession launched by dtlogin, it is assumed that the desktop
  384.     # font path has already been added by Xsetup, so no need to add it here.
  385.     # 
  386.  
  387.  
  388.     $XDIR/xset fp default
  389.  
  390.  
  391.     #
  392.     # Append desktop font paths. Note: these directories should be
  393.     # accessable by the X server. The file precedence is:
  394.     #
  395.     #   /etc/dt/config/xfonts/C
  396.     #   /usr/dt/config/xfonts/C
  397.     #   /etc/dt/config/xfonts/$LANG
  398.     #   /usr/dt/config/xfonts/$LANG
  399.     #
  400.  
  401.     Log "setting font path..."
  402.  
  403.  
  404.     if [ "$DTXSERVERLOCATION" != "remote" ]; then
  405.  
  406.       #
  407.       # Since X server is local, optimize by checking local desktop
  408.       # font directories and making one call to xset.
  409.       #
  410.  
  411.       if [ -f /etc/dt/config/xfonts/C/fonts.dir ]; then
  412.           fontpath=/etc/dt/config/xfonts/C
  413.       fi
  414.  
  415.       if [ -f /usr/dt/config/xfonts/C/fonts.dir ]; then
  416.         if [ -z "$fontpath" ]; then
  417.           fontpath=/usr/dt/config/xfonts/C
  418.         else
  419.           fontpath=$fontpath,/usr/dt/config/xfonts/C
  420.         fi
  421.       fi
  422.  
  423.       if [ "$LANG" != "C" ]; then
  424.         if [ -f /etc/dt/config/xfonts/$LANG/fonts.dir ]; then
  425.           if [ -z "$fontpath" ]; then
  426.             fontpath=/etc/dt/config/xfonts/$LANG
  427.           else
  428.             fontpath=$fontpath,/etc/dt/config/xfonts/$LANG
  429.           fi
  430.         fi
  431.       fi
  432.  
  433.       if [ "$LANG" != "C" ]; then
  434.         if [ -f /usr/dt/config/xfonts/$LANG/fonts.dir ]; then
  435.           if [ -z "$fontpath" ]; then
  436.             fontpath=/usr/dt/config/xfonts/$LANG
  437.           else
  438.             fontpath=$fontpath,/usr/dt/config/xfonts/$LANG
  439.           fi
  440.         fi
  441.       fi
  442.  
  443.  
  444.       if [ ! -z "$fontpath" ]; then
  445.         $XDIR/xset fp+ $fontpath
  446.       fi
  447.  
  448.     else
  449.       #
  450.       # Since X server not local, we don't know if the desktop font
  451.       # directories exist on the X server machine, so we have to
  452.       # set them one at a time.
  453.       #
  454.  
  455.       $XDIR/xset fp+ /etc/dt/config/xfonts/C 1>/dev/null
  456.  
  457.       $XDIR/xset fp+ /usr/dt/config/xfonts/C 1>/dev/null
  458.  
  459.       if [ "$LANG" != "C" ]; then 
  460.         $XDIR/xset fp+ /etc/dt/config/xfonts/$LANG 1>/dev/null
  461.       fi
  462.  
  463.       if [ "$LANG" != "C" ]; then
  464.         $XDIR/xset fp+ /usr/dt/config/xfonts/$LANG 1>/dev/null
  465.       fi
  466.     fi
  467.  
  468.   fi 
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479. # ###########################################################################
  480. #   Source user's desktop profile
  481. #   This section determines if the user has a desktop profile in their
  482. #   home directory. If not, the desktop default profile is copied to
  483. #   the home directory. The desktop profile is then sourced. The purpose
  484. #   is to incorporate any per-user/per-session environment customizations
  485. #   and thereby propagate them to applications and desktop components.
  486. # ###########################################################################
  487.  
  488.  
  489.   DTSYSPROFILE=sys.dtprofile
  490.   DTPROFILE=.dtprofile
  491.  
  492.   if [ ! -f $HOME/$DTPROFILE ]; then
  493.     for i in $DT_CONFIG_PATH
  494.     do
  495.       if [ -f $i/$DTSYSPROFILE ]; then
  496.         /usr/bin/awk '
  497.           BEGIN {printit=1}
  498.           /SYSPROFILE COMMENT START/ {printit=0; next}
  499.           /SYSPROFILE COMMENT END/ {printit=1; next}
  500.           printit==1 {print}' <$i/$DTSYSPROFILE >$HOME/$DTPROFILE
  501.         /bin/chmod 755 $HOME/$DTPROFILE
  502.         break
  503.       fi
  504.     done
  505.   fi
  506.  
  507.   #
  508.   # source the .dtprofile.
  509.   #
  510.   if [ -f $HOME/$DTPROFILE ]; then
  511.     Log "sourcing $HOME/$DTPROFILE..."
  512.     . $HOME/$DTPROFILE
  513.   fi
  514.  
  515.  
  516. # ###########################################################################
  517. #  External Xsession processing section
  518. #  This section searches the Xsession.d subdirectory and sources
  519. #  the files contained therein.  The purpose is to set up any
  520. #  per-user/per-session environment customizations and thereby propagate
  521. #  them to applications and desktop components.
  522. # ##########################################################################
  523.  
  524.   DT_XSESSION_DIR=Xsession.d
  525.  
  526.   for i in $DT_CONFIG_PATH
  527.   do
  528.     if [[ -d $i/$DT_XSESSION_DIR ]]; then
  529.       # 
  530.       # Run custom Xsession scripts for this session.
  531.       # 
  532.       for SCRIPT in $(ls $i/$DT_XSESSION_DIR); do
  533.           if [ -x $i/$DT_XSESSION_DIR/$SCRIPT -a \
  534.         \( ! -d $i/$DT_XSESSION_DIR/$SCRIPT \) ]; then
  535.                Log "sourcing $i/$DT_XSESSION_DIR/$SCRIPT..."
  536.                . $i/$DT_XSESSION_DIR/$SCRIPT
  537.           fi
  538.       done
  539.     fi
  540.   done
  541.  
  542.  
  543. # ###########################################################################
  544. #   Startup section.
  545. #      
  546. #   Note: The ksh syntax ${parameter%% *} is used when appropriate to
  547. #         remove any command line options that may have been included
  548. #         in the definition of a DT executable below.
  549. #      
  550. # ###########################################################################
  551.  
  552. # Return first command in array named by $1 that is executable
  553. GetFirst()
  554. {
  555.   let i=0
  556.   while true; do
  557.     eval "cmd=\${$1[$i]}"
  558.     [ -z "$cmd" ] && break
  559.     [ -x "${cmd%% *}" ] && echo "$cmd" && break
  560.     Log "could not start $cmd"
  561.     let i=$i+1
  562.   done
  563. }
  564.  
  565. # Start first command in array named by $1 that is executable. If
  566. # $2 is 'eval', command result will be 'eval'ed. 
  567. StartFirst()
  568. {
  569.   first=$(GetFirst $1)
  570.   if [ ! -z "$first" ]; then
  571.     Log "starting $first"
  572.     if [ "$2" = "eval" ]; then
  573.       eval `eval "PATH=$DT_BINPATH:$PATH $first"`
  574.     else
  575.       eval "PATH=$DT_BINPATH:$PATH $first"
  576.     fi
  577.   fi
  578. }
  579.  
  580.   # 
  581.   # Prepare for session startup
  582.   # 
  583.  
  584.   if [ "$DTSOURCEPROFILE" = "true" ]
  585.   then
  586.     case ${SHELL##*/} in
  587.        sh | ksh | dtksh) shellprofile="$HOME/.profile";;
  588.        bash) shellprofile="$HOME/.bash_profile";;
  589.        csh | tcsh) shellprofile="$HOME/.login";;
  590.        *) Log "non-standard shell $SHELL"
  591.     esac
  592.   fi
  593.  
  594.   if [ "$shellprofile" -a ! -f "$shellprofile" ]
  595.   then
  596.     Log "could not read $shellprofile"
  597.     unset shellprofile
  598.   fi
  599.  
  600.   if [ "$SESSIONTYPE" = "xdm" ]; then
  601.     startup=$(GetFirst xdmstart_session)    # get xdm session client
  602.     StartFirst xdmstart_hello               # start xdm hello client
  603.   else
  604.     startup=$(GetFirst dtstart_session)     # get desktop session client
  605.     StartFirst dtstart_hello                # start desktop hello client
  606.     StartFirst dtstart_searchpath eval      # setup desktop search paths
  607.  
  608.     _MANPATH=$MANPATH
  609.     . /etc/default/man
  610.     MANPATH=$MANPATH:$_MANPATH
  611.     export MANPATH
  612.  
  613.  
  614.     tooltalk=$(GetFirst dtstart_ttsession)  # get tooltalk client
  615.     dtdbcache=$(GetFirst dtstart_dtdbcache) # get dtdbcache client
  616.  
  617.  
  618.     if [ -z "$SDT_NO_DSDM" ]; then
  619.         StartFirst dtstart_dsdm             # start drag and drop proxy
  620.     fi
  621.  
  622.     StartFirst dtstart_appgather            # setup session applications
  623.   fi
  624.  
  625.   # 
  626.   # Start the session.
  627.   # 
  628.  
  629.   if [ $shellprofile ]; then
  630.     Log "execing $startup using $shellprofile..."
  631.  
  632.     source_profile=". $shellprofile"
  633.     source_login="source $shellprofile"
  634.   else
  635.     Log "execing $startup..."
  636.  
  637.     source_profile="echo 'not sourcing $HOME/.profile (see $HOME/.dtprofile)'"
  638.     source_login="echo 'not sourcing $HOME/.login (see $HOME/.dtprofile)'"
  639.   fi
  640.  
  641.   if [ -z "$dtdbcache" ]; then
  642.     dtdbcache="echo could not start $dtstart_dtdbcache"
  643.   fi
  644.  
  645.   export DT=true;
  646.   case ${SHELL##*/} in
  647.       sh | bash) $SHELL -c "$source_profile; \
  648.                unset DT; \
  649.                $dtdbcache; \
  650.                            PATH=/usr/dt/bin:\$PATH $tooltalk;   \
  651.                            $startup > $dtstart_sessionlogfile 2>&1" ;;
  652.  
  653.       ksh | dtksh) $SHELL -c "$source_profile; \
  654.                unset DT; \
  655.                $dtdbcache; \
  656.                            PATH=/usr/dt/bin:\$PATH $tooltalk;\
  657.                            $startup >| $dtstart_sessionlogfile 2>&1" ;;
  658.  
  659.       csh | tcsh) $SHELL -c "unsetenv _ PWD;       \
  660.                            $source_login; \
  661.                            unsetenv DT;          \
  662.                $dtdbcache; \
  663.                            (set path = ( $DT_BINPATH \$path ); $tooltalk ); \
  664.                            $startup  >&! $dtstart_sessionlogfile" ;;
  665.  
  666.       *) unset DT
  667.      $dtdbcache
  668.          StartFirst dtstart_ttsession
  669.          $startup >| $dtstart_sessionlogfile 2>&1 ;;
  670.   esac
  671.  
  672. $dtdbcacherm        # remove the actions/datatypes cachefile
  673.  
  674. # ####################         eof      #################################
  675.