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.


  • 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.


    * 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