openbsd-ports/print/cups/pkg
ajacoutot c54e12bbe0 Sanitize some @unexec/@extraunexec calls to rm: move them up in the
PLIST and delete everything under the @sample'd directory instead of the
directory itself to prevent a warning from pkg_delete(1) trying to
remove a non existing directory and to help preventing left-over files
and directories.
2011-05-11 07:45:52 +00:00
..
cupsd.rc cupsd rewrites its arguments, so add a pexp to the rc script. 2011-04-06 16:50:26 +00:00
DESCR Disable gnutls, remove no_gnutls FLAVOR, and use our ssl instead. 2007-03-26 16:33:05 +00:00
PFRAG.shared Major update to cups-1.4.3. 2010-03-31 16:20:02 +00:00
PLIST Sanitize some @unexec/@extraunexec calls to rm: move them up in the 2011-05-11 07:45:52 +00:00
README Extend README, after a discussion with oga@ 2011-04-16 14:59:54 +00:00

$OpenBSD: README,v 1.7 2011/04/16 14:59:54 ajacoutot Exp $

Using CUPS under OpenBSD
========================

Adding and/or configuring CUPS printers can be done with lpadmin(8), but
for a quick and easy (graphical) setup, after starting the CUPS daemon,
point your browser to:
    http://localhost:631

If you want to print to non-Postscript printers or use CUPS bundled PPD
files (i.e. drivers), you'll need to install ghostscript.  You will also
most probably want to install foomatic-filters which provides a
universal filter script along with the foomatic-db-engine package which
will allow you to generate a PPD (Printer Postscript Description) file
for your printer.

Depending on your printer model you may also need to install some driver
package like (non-exhaustive list): hplip/hpijs, gutenprint, foo2zjs,
splix...

To be able to use CUPS printers from gtk+2 applications, the gtk+2-cups
package needs to be installed.

This package supports both ulpt(4) and libusb for printing to USB
devices. ulpt(4) should work out of the box, however:
* ulpt(4) does not support select() which is used by CUPS to know when
the device can accept more data (http://www.cups.org/str.php?L3028)
* it won't be able to automatically detect the corresponding driver/PPD
* it is deprecated upstream in favor of libusb

Required steps for libusb based printing
----------------------------------------
If you choose to make your USB printer use libusb, you need to allow the
_cups user access to the corresponding USB endpoint. To do so, find
where your printer is attached to using `sudo usbdevs -vd` then change
the ownerships accordingly.

e.g.
Controller /dev/usb3:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x8086), rev 1.00
  uhub3
 port 1 powered
 port 2 addr 2: full speed, self powered, config 1, USB MFP(0x082f), EPSON(0x04b8), rev 1.00, iSerialNumber L83010704250947490
   ulpt0
   ugen0

$ sudo chown _cups /dev/ugen0.* /dev/usb3

The reason we are changing the user and not the group is that it will
allow for multi-function devices to work for both printing and scanning
(e.g. by being owned by _cups:_saned).

To preserve your changes after a system update, use rc.local(8).
e.g. for a multi-function printer/scanner add the following lines:
chown _cups:_saned /dev/ugen0.* /dev/usb1