Solaris Terminal Handling
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:
At the top level is SAC (Service Access Controller), this is started in inittab (/usr/lib/saf/sac)
SAC starts the port monitors listed in /etc/saf/_sactab
Two different port monitors exist ttymon and listen
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 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