Instead of using gettys like most normal Unix versions, Solaris uses SAF, (Service Access Facility) to control terminal lines, serial printers and modems. This works as follows:

 1. At the top level is SAC (Service Access Controller), this is started in
    inittab (/usr/lib/saf/sac)
 2. SAC starts the port monitors listed in /etc/saf/_sactab
 3. Two different port monitors exist ttymon and listen
       1. ttymon is responsible for terminal lines, (typically /dev/term/
          a and /dev/term/b). Generally it calls the login program as defined
          in /etc/saf/zsmon/_pmtab
       2. listen controls printing (although it has capabilities to control
          more). It calls the lp facility.

Commands

  • sacadm - High level SAF configuration. Add, delete, enable, disable, start and stop port monitors.
  • pmadm - Configure port monitors
  • ttyadm - Helper utility to format input to pmadm
  • sttydefs - Create amd modify entries in /etc/ttydefs (file describing terminal line characteristics).
  • nlsadmin - helper utility to format input to pmadm for printers.

Examples

    * sacadm -l - lists port monitors
    * sacadm -a -p tcp -t listen -c "/usr/lib/saf/listen tcp" -v `nlsadmin -v` -n 9999 
        - will define the listen port monitor if, for some reason, it wasn't preinstalled. 
      Flags are as follows:
      -a add a port monitor
      -t port monitor type (listen or ttymon)
      -p PMTAG (generally zsmon for ttymon and tcp for listen
      -c command to run for associated port monitor
      -v version number (given by nlsadmin helper command
      -y description for /etc/saf/tcp/_pmtab entry -n number of restarts if monitor dies
      The subdirectory /etc/saf/tcp will be created by the above command.
      The monitor must now be configured with the pmadm command, e.g.
    * pmadm -a -p tcp -s lp -i root -v `nlsadmin -v` -m "`nlsadmin -o /var/
      spool/lp/fifod/listen S5`"
    * pmadm -l - will list the port monitors configuration details

Recent Changes

Contribute to this wiki

Why not help others by sharing your knowledge? Contribute something to this wiki and join out hall of fame!
Contact us for a user name and password