SCO Unix/System V Printing FAQ
This article is from a FAQ concerning SCO operating
systems. While some of the information may be applicable to any OS,
or any Unix or Linux OS, it may be specific to SCO Xenix, Open
There is lots of Linux, Mac OS X and general Unix info elsewhere on
this site: Search this site is the best
way to find anything.
The "lpadmin" command can add or modify printers without using
a graphical or command line tool
This assumes you are using Cups (Linux) or SCO Unix, Solaris or
another Unix that uses System V style printing.
For Cups, use "-E" in the original command - you don't need to "enable"
and "accept" commands.
lpadmin -p printer1 -v /dev/lp -m HPLaserJet
lpadmin -d printer1
adds a new printer named "printer1" which prints to the parallel
port and uses the "HPLaserJet" model. "lpadmin -d" makes it the
lpadmin -x printer1
removes the printer "printer1".
There are other options to lpadmin; see the man page.
Xenix printers can be transferred with a script like this (which
assumes that the Xenix hierarchy is located under "/xenixsys"):
for i in *
# make sure we aren't overwriting an existing model
if test -r /usr/spool/lp/model/$i
echo "Model $i already exists"
cp ../interface/$i /usr/spool/lp/model
lpadmin -p $i -v `cat $i` -m $i
If you modify interfaces or devices of existing printers with
lpadmin, you will have to do "lpshut;/usr/lib/lpsched" to
see the effects.
Here's a good page on adding a Centos printer: CentOS 6 lpadmin generic postscript printer addition. Interesting syntax:
For Jetdirect/RAW print servers
lpadmin -p printer_name -m drv:///sample.drv/generic.ppd -v
socket://your_print_server:9100 -D "Your printer description"
-L "Your printer location" -o printer-error-policy=retry-job -o
The new part is "drv:///sample.drv/generic.ppd" as the model
instead of "postscript.ppd.gz" or similar from the past. This
seems to trigger a ppd file build from the script/file of
"/usr/share/cups/drv/sample.drv" as part of the cups package.