pcnfsd.1m (2010 09)

p
pcnfsd(1M) pcnfsd(1M)
Every print request from a client includes the name of the printer to be used. This name corresponds to a
printer that has been configured into the line printer spooling system using the
lpadmin command. The
PCNFSD protocol only supports printer names up to 64 characters. Any printer configured using the
lpadmin command with a name greater than 64 characters will be ignored by
pcnfsd.
To process print data in a special way (for example, to print it in landscape mode, or to print it in duplex
mode), define a new printer and arrange for the client to print to that printer. There are two ways to
define the new printer:
You can add a new printer to the line printer spooling system that uses a different printer model
script, and arrange for the client to use the new printer. Do this using the
lpadmin command (see
lpadmin (1M)).
pcnfsd includes a mechanism to define virtual printers known only to
pcnfsd clients. Each of
these printers is defined by an entry in the file
/etc/pcnfsd.conf
using the following format:
printer name alias-for command
with the following values:
name The name of the printer, as it will be referred to in print requests from clients.
alias-for The corresponding name for the printer, as it is defined in the line printer spooling sys-
tem. For example, a request to display the queue for name will be translated into the
corresponding request for the printer alias-for . If you have defined a printer within
pcnfsd that has no corresponding printer defined in the line printer spooling system,
use a single hyphen (-) for this field. For an example, see the definition of the printer
test in the EXAMPLES section below.
command A command that will be executed whenever a file is printed on name. This command is
executed by the POSIX shell,
/usr/bin/sh using the -c option. For complex opera-
tions, construct an executable shell program and execute that in command.
Within command the following tokens will be replaced:
Token Substitution
$FILE Replaced by the full path name of the print data file. When the command has
been executed, the file will be unlinked.
$USER Replaced by the user name of the user logged in to the client system.
$HOST Replaced by the host name of the client system.
Reconfiguration
By checking the modification time (and contents) of the file
/var/spool/lp/pstatus
, pcnfsd will
detect when printers have been added or deleted, and will rebuild its list of valid printers. However,
pcnfsd does not monitor the file /etc/pcnfsd.conf
for updates; if you change this file, you must kill
and restart
pcnfsd for the changes to take effect.
EXAMPLES
Given the following entries for the file
/etc/pcnfsd.conf:
printer abc lj lp -dlj -oraw
printer test - /usr/bin/cp $FILE /usr/tmp/$HOST-$USER
If a user on a client system prints a job on printer abc, the request will be sent to destination lj in raw
mode.
If the client requests a list of the print queue for printer
abc, the pcnfsd daemon will translate this into
a request for a listing for printer lj.
Printer
test is used only for testing. Any file sent to this printer will be copied into the directory
/usr/tmp. Any request to list the queue, check the status, and so on, of printer test will be rejected
because alias-for has been specified as a hyphen (-).
FILES
/etc/pcnfsd.conf
/etc/rc.config.d/nfsconf
/var/spool/lp/pstatus
/var/spool/pcnfs
2 Hewlett-Packard Company 2 HP-UX 11i Version 3: September 2010