[cups.general] Network printing with CUPS 1.6.x

Till Kamppeter till.kamppeter at gmail.com
Wed Aug 29 08:45:49 PDT 2012


Hi,

in CUPS 1.6.x the CUPS broadcasting (shared printers from remote CUPS 
servers get available to the local CUPS server automatically) got 
removed and this makes network printing more complicated.

So desktop applications only show local printers in their dialogs and no 
remote ones any more, same for "lpstat". Command line printing with 
"lpr" works also on remote printers by specifying a host name, but one 
cannot get an overview of the available printers in the network, simply 
using a special command.

What always works (and already worked with CUPS 1.5.x when browsing is 
off) is to create a static raw queue pointing to a remote CUPS queue 
with IPs like

ipp://<IP address>/printers/<queue>
dnssd://<service name>._ipp._tcp.local/cups
ipp://<service name>._ipp._tcp.local/cups

This means that the user has to set up a queue before he is able to 
print on a remote printer. This avoids clutter in printing dialogs but 
requires the user to set up the printers he needs at first and on most 
systems only special users (root, members of "lpadmin") can set up printers.

To find available printers in the network one needs either avahi-browse, 
avahi-discover, the dnssd CUPS backend or the new cupsEnumDests() 
library function.

Now my questions:

1. Is there a way for applications to list also the remote printers in 
their printing dialogs and to print on them without creating local 
static queues and without modifying the code of the applications?

2. If the cupsEnumDests() function reports

Added 'Berlin - Fast Double-Sided Color multi-function  @ till-lenovo':
     printer-info="Berlin - Fast Double-Sided Color multi-function  @ 
till-lenovo"
     printer-location=""
     printer-make-and-model="Hewlett-Packard HP Color LaserJet CM3530 MFP"
     printer-type="8425694"
 
printer-uri-supported="ipp://Berlin%20-%20Fast%20Double-Sided%20Color%20multi-function%20%20%40%20till-lenovo._ipp._tcp.local/cups"

how do I print on this printer without creating a local static queue 
pointing to the given URI?

    Till





More information about the cups mailing list