[cups.general] How does CUPS work?

Michael Sweet msweet at apple.com
Wed May 20 23:24:50 PDT 2009


On May 20, 2009, at 6:41 PM, Space Ship Traveller wrote:
> Thanks for your detailed reply. You have clarified a lot of things  
> for me. I have a few more questions.
>
> On 21/05/2009, at 4:32 AM, Michael Sweet wrote:
>
>> On May 20, 2009, at 5:58 AM, Space Ship Traveller wrote:
>>> ....
>>> I then have a client such as OS X with a local CUPS server which I  
>>> can
>>> load the printer into. This printer is loaded as IPP with the above
>>> URL. I also select the same PPD for use on the client.
>>
>> Normally you actually want to use no PPD - "-m raw" when adding via  
>> the lpadmin command - so that the client grabs the PPD from the  
>> server and does no local filtering.
>
> What exactly is filtering? What does the process entail? Does the  
> PPD make adjustments to the post script data stream somehow?

I'll point you to an overview document that explains this:

     http://www.cups.org/documentation.php/overview.html

>> Mac OS X clients currently use a half-way approach for Bonjour  
>> shared printers - they copy the PPD to the local system and update  
>> it to basically say "I can print all of the standard formats  
>> directly" so that there is a local PPD (so you can still show  
>> options and queue jobs when you aren't on the server's network) but  
>> still get the benefits of server-side option processing.
>
> Does this happen for any other printer type and on other platforms?  
> Or is this behaviour unique to Bonjour shared printers?

Currently this is unique to Bonjour shared printers on Mac OS X.

> And we expect in this case that the client will pick up the PPD from  
> the server? Is this a reliable behaviour across different platforms?

Yes.

> Is it possible to pull down the PPD from the server given the  
> printer URL?

Yes.  For the printer's URI of the form:

     ipp://servername:port/printers/printername

the PPD's URL will be:

     http://servername:port/printers/printername.ppd

> i.e.
> http://printserver:631/printers/myprinter/ppd
>
> How is it different between the following cases:
> 	1) Manually setting the PPD to be the same as what is on the server

Then the client will try to filter locally.  If you don't have the  
driver software locally installed (driver == filters specified in  
PPD), then the client won't be able to print.  This can also cause  
issues when printing through the server (that I mentioned before).

> 	2) Having the client automatically set the PPD to what the server  
> supplies

When you configure a "raw" queue pointing at the server's queue, CUPS  
knows it is a shared printer and will automatically get the server PPD  
as needed.

This mechanism is also used for automatically created queues created  
with CUPS, LDAP, or SLP printer sharing.

> For case (2) Is there some option in the configuration stored  
> somewhere to indicate that the server is actually going to do  
> "filtering"?

When there is no PPD file for the local queue, the local cupsd knows  
not to do any filtering.  With a PPD file, the local cupsd does  
whatever filtering is specified in that PPD file.

> Also, in that case, does the client supply the options from the  
> print dialogue form to the server, so it can then process it via the  
> PPD? How does this work?

Yes, the client supplies the options exactly as specified to the server.

>
>>
>>
>>> If I have a PPD on a print queue on a server, does the client  
>>> somehow
>>> automatically pick that up?
>>
>> Normally yes.  If you manually configure an IPP queue, then it  
>> doesn't.
>
> If you manually configure an IPP queue as raw, does this not pick up  
> the PPD on the server?
>
> Is there documentation about what kinds of queues normally pick up  
> the PPD from the server, and what kinds of queues don't?
>
> Is there a way to tell on the client if a PPD is being supplied by  
> the server?
>
>
> Thanks for your time and answers,
> Samuel
>
> _______________________________________________
> cups mailing list
> cups at easysw.com
> http://lists.easysw.com/mailman/listinfo/cups

________________________________________
Michael R Sweet, Senior Printing System Engineer

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cups.org/pipermail/cups/attachments/20090520/81f9600e/attachment-0001.html>


More information about the cups mailing list