[cups] Remote queues and PPD files

Prunk Dump prunkdump at gmail.com
Tue Jun 17 05:39:45 PDT 2014


Hello,

I have trouble using cups as a centralized print server.

My network is composed of 120 Debian Wheezy client and I would like to
send all the print jobs to the domain controler where all printers
parameters are set (I don't want to configure each CUSP instance
installed on the clients). I can't use "ServerName
myCupsCentralizedServer" because I want to keep the possibility to
install local (usb) printers on the stations. So actually I share the
printers like this :

1) On the server : I install and share the network printer with the
CUPS admin interface.
2) On the client : I make "lpadmin -p myprinter -E -v
ipp://server/printers/myprinter"

The only problem I have with this method is that some programs like
"libreoffice-draw" failed to get the default page size because they
try to get the PPD file from the local print server. We can see below
that the local cups server forward the "getPrinterAttribute" query but
not the "GET /printers/AL-M7000_prof.ppd".

--------------------
(strace libreoffice)
connect(33, {sa_family=AF_FILE, path="/var/run/cups/cups.sock"}

sendto(33, "POST / HTTP/1.1\r\n ... CUPS/1.5.3\r\nExpect: 100-continue"...
sendto(33, "...attributes-natural-language.fr-fr...printer-uri.ipp://localhost/printers/AL-M7000_prof....requested-attributes...vmember-uri...printer-uri-supported...printer-type.3"

recvfrom(33, "HTTP/1.1 100 Continue\r\n\r\n"
recvfrom(33, "HTTP/1.1 200 OK\r\nDate: ......
attributes-natural-language\0\5fr-fr...
recvfrom(33, "I\0\31document-format-supported\0\30application/octet-streamI\0\0\0\17application/pdf....
recvfrom(33, "\0\7eveningD\0\0\0\5nightD\0\0\0\fsecond-shiftD..
.....

sendto(33, "GET /printers/AL-M7000_prof.ppd HTTP/1.1\r\nHost:
localhost\r\nUser-Agent: CUPS/1.5.3\r\n\r\n"...

recvfrom(33, "HTTP/1.1 404 Not Found....
--------------------

If I specify the PPD file when adding the printers on the client :

lpadmin -p myprinter -E -v ipp://server/printers/myprinter -P myprinter.ppd

All the programs work better but, if I understand well, It seems that
create a local print queue. So :

Is someone can explain me how this works ?
-> Is there really a local print queue created ?
-> How are set the printer parameters ? Locally on the client and
sended to the server ? Or they are queried each time from the server
(so I can configure only the server) ?
-> It is possible to forward automatically the PPD file on the "GET"
http query ?

I hope ma question is clear... Thank you very much if someone can help me.

Baptiste.



More information about the cups mailing list