Contents
Introduction
The Common Unix Printing System (CUPS) is a modular printing system for Unix-like computer operating systems that allows a computer to act as a powerful print server. A computer running CUPS is a host which can accept print jobs from client computers, process them, and send them to the appropriate printer. More information regarding the architecture of CUPS can be found here.
To check whether your printer works with CUPS and to what extent, you may visit the OpenPrinting database.
Install CUPS
Assuming your pkgsrc tree lies at /usr/pkgsrc
, type:
# cd /usr/pkgsrc/print/cups
# make install
Modify rc.conf
Next copy cupsd startup script at /etc/rc.d:
# cp /usr/pkg/share/examples/rc.d/cupsd /etc/rc.d
Then add the following line to your /etc/rc.conf file:
cupsd=YES
And start the CUPS daemon, with:
# /etc/rc.d/cupsd start
Starting cupsd.
#
Install Foomatic PPD collection
The Foomatic PPD collection includes suitable PPDs for printers listed in the Foomatic printer/driver database. Together with the foomatic-filters package, this collection of PPDs allows many non-PostScript printers to function as if they were PostScript printers:
cd /usr/pkgsrc/print/foomatic-ppds
# make install
The following package adds Foomatic PPDs to the CUPS PPD database:
# cd /usr/pkgsrc/print/foomatic-ppds-cups
# make install
Setup CUPS
Open a web browser and type in the address/location bar:
http://localhost:631
You will enter a web-based interface where you can manage your printing system (add printers, etc).
To print using cups from the command line without further modifications you have to use /usr/pkg/bin/lpr. Using simply lpr will not print using cups but the default NetBSD printing system. The same apply to the spool queue examination command lpq.
Network configuration
Server side
Client side
Documentation
Notes
Permissions
Just for the record (I'm not sure where this fits in): To make it print, I had to
chown lp /dev/ulpt0 # usb
and install print/hpijs for my Deskjet (it is used by gs via the foomatic thing), then set some additional options in the web interface, e.g. a4 paper size. Conclusion: The web interface sucks, looking into the logs is indispensable.
BSD lpr
I think I no longer need the BSD lpr, so i just did this to avoid confusion:
# chmod -x /usr/bin/lp*
# chmod -x /usr/sbin/lp*
HP Printer
To use HP printers (like DeskJet, OfficeJet, PhotoSmart, Business InkJet, and some LaserJet models) and to not have this kind of error /usr/pkg/libexec/cups/filter/foomatic-rip failed, you need to install another package named hpijs :
# cd /usr/pkgsrc/print/hpijs
# make install clean clean-depends