#!/bin/sh # This script is an input filter for printcap printing on a unix machine. It # uses the nprint program to print the file to the specified ncp-based # server and queue. # For example you could have a printcap entry like this # # ncp:lp=/dev/null:sd=/usr/spool/ncp:sh:if=/usr/local/bin/ncpprint # # which would create a unix printer called "ncp" that will print via this # script. You will need to create the spool directory /usr/spool/ncp with # appropriate permissions and ownerships for your system. # # Script further altered by hamiltom@ecnz.co.nz (Michael Hamilton) # so that the server, service, and password can be read from # a /usr/var/spool/lpd/PRINTNAME/.config file. # # In order for this to work the /etc/printcap entry must include an # accounting file (af=...): # # cdcolour:\ # :cm=CD IBM Colorjet on 6th:\ # :sd=/var/spool/lpd/cdcolour:\ # :af=/var/spool/lpd/cdcolour/acct:\ # :if=/usr/local/etc/ncpprint:\ # :mx=0:\ # :lp=/dev/null: # # The /usr/var/spool/lpd/PRINTNAME/.config file should contain: # server=PC_SERVER # queue=PRINTER_QUEUE # user="user" # password="password" # # Please, do not modify the order in the file. # Example: # server=NWSERVER # queue=P_QUEUE1 # user="fred" # password="" # # The last parameter to the filter is the accounting file name. # Extract the directory name from the file name. # Concat this with /.config to get the config file. # eval acct_file=\$$# spool_dir=`dirname $acct_file` config_file=$spool_dir/.config # Should read the following variables set in the config file: # server # queue # user # password eval `cat $config_file` #if [ "$server" != "" ]; then # usercmd="-h $server" # if [ "$size" != "" ] # usercmd="-h $server -s $size" # fi #elif [ "$size" != "" ] # usercmd="-s $size" #else # usercmd="" #fi #cat > /tmp/printout cat | sendfax -n -d $phone -s a4 2>/dev/null