Description of problem: On a clean F27 installation, I added a printer using gnome control center (using cups.brq.redhat.com to list network printers) and then tried to print a text from gedit. The page is not printed, and in journal I see: Oct 05 12:12:54 localhost.localdomain cupsd[888]: Starting renderer with command: \"/bin/cat - | sicgsfilter -MPS -NP -A1 -utester -V\"Untitled Document 1\" -n1 \" Oct 05 12:12:54 localhost.localdomain cupsd[888]: Starting process \"kid3\" (generation 1) Oct 05 12:12:54 localhost.localdomain cupsd[888]: Starting process \"kid4\" (generation 2) Oct 05 12:12:54 localhost.localdomain cupsd[888]: Starting process \"renderer\" (generation 2) Oct 05 12:12:54 localhost.localdomain cupsd[888]: JCL: \033%-12345X@PJL Oct 05 12:12:54 localhost.localdomain cupsd[888]: <job data> Oct 05 12:12:54 localhost.localdomain cupsd[888]: /bin/bash: sicgsfilter: command not found Oct 05 12:12:54 localhost.localdomain cupsd[888]: Closing renderer Oct 05 12:12:54 localhost.localdomain cupsd[888]: renderer exited with status 127 Oct 05 12:12:54 localhost.localdomain cupsd[888]: kid3 exited with status 1 Oct 05 12:12:54 localhost.localdomain cupsd[888]: Process is dying with \"Error closing renderer Oct 05 12:12:54 localhost.localdomain cupsd[888]: \", exit stat 1 Oct 05 12:12:54 localhost.localdomain cupsd[888]: Cleaning up... Oct 05 12:12:54 localhost.localdomain cupsd[888]: Killing pdf-to-ps I can't find any package that would contain "sicgsfilter" executable. Version-Release number of selected component (if applicable): cups-2.2.4-6.fc27.x86_64 How reproducible: always
Created attachment 1334745 [details] journal
Created attachment 1334746 [details] rpm-qa
Hi Kamil, seems like control-center assigns bad ppd file for printer - because I created printer with system-config-printer with same printer uri control-center creates and it prints ok. I reassign this issue to control-center guys, if they have more information about it.
I would like to mention that getting remote cups queues (like control-center does) is deprecated by upstream (all usage remote cups queues is slowly deprecating - upstream wants CUPS to communicate with class/printer directly) and for most situations is used cups-browsed now (it browses hostname set in its configuration file and creates local printers for all printers/remote cups queues, which it finds), so IMO it would be good that control-center reflects that. Like (just idea) user wants to see printers from host, so 'BrowsePoll server.example.com' will be automatically added into /etc/cups/cups-browsed.conf and cups-browsed service will be restarted, so user will choose 'printer1' to have "installed" (in this case, no ppd is needed - this is pro of it), so 'BrowseFilter name printer1' will be added and cups-browsed service will be restarted. This creates local printers from hostname and then it leaves only printer1 as local print queue.
Hi, (In reply to Zdenek Dohnal from comment #3) > Hi Kamil, > > seems like control-center assigns bad ppd file for printer - because I > created printer with system-config-printer with same printer uri > control-center creates and it prints ok. I reassign this issue to > control-center guys, if they have more information about it. this is because system-config-printer does not assign a PPD to the printer at all so you get a raw printer basically. That is also reason why there is so few options to configure when printing. Once you try to set anything on it in gnome-control-center, it gets the PPD from the configured server and set it there and then you won't be able to print again. This whole issue is caused by the PPD set on the CUPS server from which you've added the printer. Looking at this there is the line with "sicgsfilter" which looks like a binary filter which we don't distribute. cups-browsed "fixes" this by this change: -*cupsFilter: "application/vnd.cups-postscript 100 foomatic-rip" -*cupsFilter: "application/vnd.cups-pdf 0 foomatic-rip" -*cupsFilter: "application/vnd.apple-pdf 25 foomatic-rip" +*cupsFilter: "*/* 0 -" I've opened a ticket to modify the PPD this way on the server. (In reply to Zdenek Dohnal from comment #4) > I would like to mention that getting remote cups queues (like control-center > does) is deprecated by upstream (all usage remote cups queues is slowly > deprecating - upstream wants CUPS to communicate with class/printer > directly) and for most situations is used cups-browsed now (it browses > hostname set in its configuration file and creates local printers for all > printers/remote cups queues, which it finds), so IMO it would be good that > control-center reflects that. This would need a way to configure the /etc/cups/cups-browsed.conf from control-center. Also, we still need to support network CUPS servers which are quite old (1.4, sometimes even 1.2). Where can I find more info about the deprecated feature of getting of remote cups queues? > Like (just idea) user wants to see printers from host, so 'BrowsePoll > server.example.com' will be automatically added into > /etc/cups/cups-browsed.conf and cups-browsed service will be restarted, so > user will choose 'printer1' to have "installed" (in this case, no ppd is > needed - this is pro of it), so 'BrowseFilter name printer1' will be added > and cups-browsed service will be restarted. This creates local printers from > hostname and then it leaves only printer1 as local print queue. What would be procedure for installing another printer? Remove the filter, wait for cups-browsed to find all the printers again and then choose the new one? How can I restart cups-browsed as a user? Do we have some tools for this already (or API)? Anyway, this is not a bug but misconfiguration, I'm closing this bug.
(In reply to Marek Kašík from comment #6) > This would need a way to configure the /etc/cups/cups-browsed.conf from > control-center. Also, we still need to support network CUPS servers which > are quite old (1.4, sometimes even 1.2). cups-browsed still provides support for remote cups queues, but they are showed as one (because cups-browsed sorts it by dns-sd id, which remote cups queues on same server has same) by default for client. It can be set to previous settings by 'LocalQueueNamingRemoteCUPS RemoteName'. > Where can I find more info about the deprecated feature of getting of remote > cups queues? > AFAIK there is no official statement from CUPS or cups-filters, but it was mentioned in several conversation, which I have with upstreams: https://github.com/apple/cups/issues/5135 (IMO usage of non-local servers means usage of remote cups queues) https://bugs.linuxfoundation.org/show_bug.cgi?id=1407 Upstream will be still support it for some time, but new features won't be created with remote cups queues in mind, so IMHO there will be more errors like cups issue 5135. > What would be procedure for installing another printer? Remove the filter, > wait for cups-browsed to find all the printers again and then choose the new > one? How can I restart cups-browsed as a user? Do we have some tools for > this already (or API)? > That idea was just guess how it should work. Installing other printer would need to have two BrowseFilter directives, but it is not supported by upstream now. And I do not know how to restart cups-browsed as user and I do not know of any tools for it unfortunately - not even cups-filters provides API of cups-browsed.