File:  [NetBSD Developer Wiki] / wikisrc / tutorials / how_to_setup_cups_in_netbsd.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Sun Nov 20 20:55:21 2011 UTC (2 years, 5 months ago) by mspo
Branches: MAIN
CVS tags: HEAD
import all of the how-to articles from the pkgsrc.se wiki

**Contents**

[[!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](http://en.wikipedia.org/wiki/Common_Unix_Printing_System). 

To check whether your printer works with CUPS and to what extent, you may visit the [OpenPrinting database](http://www.linuxprinting.org/printer_list.cgi). 

#  Install CUPS

Assuming your [[pkgsrc/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](http://en.wikipedia.org/wiki/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

  * [OpenPrinting CUPS Quick Start](http://www.linux-foundation.org/en/OpenPrinting/Database/CUPSDocumentation)
  * [BSDnexus forums / CUPS Howto](http://forums.bsdnexus.com/viewtopic.php?id=36)

#  Screenshots

[![][24]][25]

   [24]: /images/120px-Print_CUPS_5.jpg
   [25]: /images/Print_CUPS_5.jpg (Print CUPS 5.jpg)

Web interface 

#  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](http://www.cups.org/) 


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb