OpenPrinting / system-config-printer

Graphical user interface for CUPS administration
GNU General Public License v2.0
157 stars 88 forks source link

Making gutenprint the default driver #188

Closed es20490446e closed 3 years ago

es20490446e commented 3 years ago

It seems that many printers don't support printing on glossy paper except if they are using gutenprint. For example, see here.

That is because the black ink isn't really designed to print on that type of paper, so what gutenprint or drivers on Windows do is printing black as a light grey. Otherwise the ink never dries out.

The thing is that without gutenprint CUPS doesn't seem capable of doing that, at least for many printers. So my suggestion is simple, that when you connect a new printer to the system, if gutenprint is available, it is selected as the default driver instead of the raw printer drivers.

zdohnal commented 3 years ago

Hi,

I checked the ticket from cups-filters too.

Would you mind telling me how you install the printer? What desktop environment do you use? Do you have system-config-printer installed?

Auto-selecting a printer driver is done by scp-dbus-service script from system-config-printer project (I don't know system-config-printer packaging in Manjaro, so it can be in a package with a different name...).

This script is run when you use system-config-printer directly, or if you add a print queue via GNOME control center - I'm not sure if other control centers call DBUS methods of scp-dbus-service. So if you use neither of those two for installing printers, then the auto-selecting a driver from system-config-printer isn't used.

es20490446e commented 3 years ago

On Manjaro Linux I simply connect the printer and it automatically installs.

Someone at CUPS told me this is usually done by system-config-printer, but only cups-pk-helper is installed along with these other.

None of the components in system-config-printer-common from Ubuntu are present on my system. The desktop environment is Deepin, and printers are managed using the CUPS web interface.

Could it be kmod-static-nodes.service?

es20490446e commented 3 years ago

Reported to kmod-static-nodes.service developers.

zdohnal commented 3 years ago

I recommend to report it to Manjaro Linux. They should know how they ship the projects (under which packages's name).

But it would be best to start with saying which connection do you mean:

I simply connect the printer and it automatically installs.

I guess you mean USB connection, so then scp-dbus-service doesn't do the job, but udev-add-printer and udev-configure-printer does. They are in system-config-printer-udev in Fedora and Ubuntu.

The above is in action when no ipp-usb/ippusbx package is installed or if the printer doesn't support IPP over USB (see the table here).

but only cups-pk-helper is installed along with these other. None of the components in system-config-printer-common from Ubuntu are present on my system.

You need to check for system-config-printer-udev if you use non IPP-over-USB compatible device or don't have ipp-usb/ippusbx installed.

================================= If you have met the conditions above, please do the following:

  1. unplug your device
  2. remove the print queue (f.e. by CLI - lpadmin -x )
  3. restart the PC.

Once you have finished it, please do:

  1. enable CUPS logging - cupsctl --enable-logging
  2. start catching system logs - I'm not sure what logger Manjaro uses for CUPS and for system, please find out by yourself. For example, if they log into file, you can start catching logs by:
tail -f <file> > logs.txt

or if they log into journal of systemd:

journalctl -f > logs.txt
  1. Plug in the printer and wait till it is configured

  2. stop log captures and attach them here as a files.

=================================== Also other information to include here:

  1. what printer model do you have? Till from cups-filters asked you in his ticket, but you never answered. Please put here output of:
# lpinfo -l -v

when the printer is plugged in and turned on.

  1. what PPD does you print queue have if it is automatically installed - you can find it under /etc/cups/ppd dir after automatic installation finishes. If there is .ppd file, then it is the file we are looking for. Copy it somewhere, rename it to have .txt suffix and attach it here as a file. If there isn't such a file, you have a raw queue (that's probably what you meant by raw printer driver...).

To sum it up what I need (how to get it is described above):

  1. logs
  2. your printer model
  3. your PPD file

Thank you in advance for providing all those information!

zdohnal commented 3 years ago

Ad the proposed solution:

The thing is that without gutenprint CUPS doesn't seem capable of doing that, at least for many printers.

Do you have a data to back up this? From the link, I see only you have solved your issue for your printer by switching to Gutenprint driver. I cannot assume it works for all printers based on this amount of info. So if the issue is really in system-config-printer, then I'll set a preference for your printer model to use gutenprint driver.

es20490446e commented 3 years ago

Okay, my report was wrong. The printer isn't added automatically except if the package "system-config-printer" is present.

If the package "gutenprint" is installed, "system-config-printer" will enable it by default. Which is the correct behavior.

"gutenprint" is not a driver itself, but a filter that overlays the real driver. When using "gutenprint", if you select "photo paper", gutenprint just colors blacks as greys before sending the job to the real drivers. Effectively disabling the use of the black cartridge, which is incompatible with photo paper.

So everything seems okay as it is now.