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 accept printer1 enable printer1 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 default printer.
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"):
cd /xenixsys/usr/spool/lp/member for i in * do # make sure we aren't overwriting an existing model if test -r /usr/spool/lp/model/$i then echo "Model $i already exists" else cp ../interface/$i /usr/spool/lp/model lpadmin -p $i -v `cat $i` -m $i accept $i enable $i fi done
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 printer-is-shared=false -E 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.
If you found something useful today, please consider a small donation.
Got something to add? Send me email.