File:  [NetBSD Developer Wiki] / wikisrc / tutorials / how_to_setup_cups_in_netbsd.mdwn
Revision 1.4: download - view: text, annotated - select for diffs
Mon Apr 8 21:45:45 2019 UTC (21 months, 2 weeks ago) by sevan
Branches: MAIN
CVS tags: HEAD
Fix link


[[!toc levels=2]]

#  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: 

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: 

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

  * [OpenPrinting CUPS Quick Start](
  * [BSDnexus forums / CUPS Howto](

#  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

#  See also

  * [Cups]( 

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb