13

Should CUPS clients need to have PPDs added locally, i.e., should I pass them to lpadmin -P? These clients print via a local print server to a remote print server (ipp://) which I assume is set up according to best practice (I do not administrate it). They are Linux PCs. I don't think I am dealing with raw queues on the remote print server.

My question sounds identical to this one but my understanding is that drivers and PPDs are not the same thing, and that PPDs are a kind of "feature list" for the printer with some PostScript commands on how to use them. It seems to me like something that is the server's job, but I had trouble finding anything that states this clearly.

OEP
  • 231
  • 1
  • 4
  • 3
    If you are sending jobs to a remote print server, than only that server would need to know about the PPD files, I think. See for example [Setting Up a Remote Printer](https://wiki.gentoo.org/wiki/Printing#Setting_Up_a_Remote_Printer). This is the way servers usually work - the client doesn't need to know the details. Are you having difficulty configuring something? Maybe I'm misunderstanding your question, though. Googling "printing to remote cups server" has some stuff. The first hit looked quite reasonable. – Faheem Mitha Apr 17 '15 at 16:38
  • Addendum: reading your question, I don't understand the "print via a local print server to a remote print server" (why two servers?) so I probably am not understanding your question. – Faheem Mitha Apr 17 '15 at 16:42
  • @FaheemMitha My configuration (no PPD on local cups server) does work, just making sure there is not a problem with doing so. I could use `client.conf` to point it at the remote server, but there is one queue we need that isn't on that CUPS server (it's a for-pay system for some public labs). This is the main reason for the local CUPS server, and we do use a PPD for it. – OEP Apr 17 '15 at 18:10
  • Ok, so it sounds like everything is working for you. So what is the problem? Or are you just trying to understand what is going on? And fwiw, I think that the PPD file *is* the printer driver. – Faheem Mitha Apr 17 '15 at 18:16
  • 1
    @FaheemMitha Well, if the PPD is the printer driver, this is probably just a misunderstanding. Clearly the print server has a driver set up for it and I don't need it on the client. I think I was confused by some of the language used by the CUPS server since it refers to a "driver" and not the PPD. – OEP Apr 17 '15 at 18:35
  • @FaheemMitha, why don't you convert your comment into an answer, with additional info, references, etc. – ILMostro_7 Jun 10 '15 at 08:27
  • @ILMostro_7 What answer are you referring to? I don't think I answered anything here. – Faheem Mitha Jun 10 '15 at 08:50
  • 2
    @ILMostro_7 If you want, this question could be converted to something along the lines of "Is the PPD a printer driver?" and I think it would be useful. I have definitely seen confusion as to whether the PPD/driver/both are required to be installed on a CUPS Linux client. We might be careful to also distinguish it from Windows printer drivers. – OEP Jun 10 '15 at 12:54
  • Perhaps the question should be rephrased; @FaheemMitha, your first comment answered the question in the TITLE of OP, though, the title may not be representative of the overall "question" posed. – ILMostro_7 Jun 19 '15 at 14:38
  • @ILMostro_7 If you want to answer, go for it. If you ping me, I'll upvote. – Faheem Mitha Jun 19 '15 at 15:02

2 Answers2

5

I have a single Linux Print server named printsrv running cupsd with all the network printers defined with proper drivers/PPDs/etc. On the 100+ other Linux machines at my site I don't even run the cups service daemon and the only config for printing I do on them is to add one line to /etc/cups/client.conf which is

ServerName printsrv.mydomain.com

With that one line in /etc/cups/client.conf all my Linux boxes see every printer I define on printsrv and print to it correctly.

raines
  • 274
  • 2
  • 7
  • This seems to work (yay, simplicity!) but the CUPS documentation seems to indicate that clients require the daemon to be running. https://www.freebsd.org/doc/en_US.ISO8859-1/articles/cups/printing-cups-clients.html – Greg Bell Jan 13 '20 at 23:19
0

In CUPS you have following options: 1. Use raw queue on server, use specific ppd on client 2. Use specific ppd on server, use raw queue on client

Both of these cases should be considered deprecated and are planned to be dropped in future.

  1. Use everywhere queue on client, use specific ppd on server:

On server:

lpadmin -p queue1 -v socket://printer -m 'my.ppd'

On client:

lpadmin -p queue1 -v ipp://remote/printers/queue1 -m everywhere
reddot
  • 266
  • 3
  • 10