The problem here is how Chromium obtains the printer capabilities
(available paper sizes, trays, resolutions, duplex, ...) to display them
in the print dialog and give the user the possibility to choose from
them.

Chromium reads the capabilities from the printer's PPD files in
/etc/cups/ppd/QUEUE_NAME.ppd. This works with a classic (*.deb packages)
installation of Chromium and the current version of CUPS (2.x) without
problems.

Now Chromium comes as a Snap, so it cannot read the host's file system
any more. snapd uses AppArmor to prevent that, therefore we see these
"... audit ... DENIED ..." messages in syslog.

Due to the fact that we are moving to immutable distros and sandboxed,
distro-independent packaging, this way how the print dialog works is not
suitable any more. We will also get CUPS 3.x next year which by nature
does not support PPD files at all any more, as PPD files are from the
old times of PostScript printers and nowadays we have IPP (Internet
Printing Protocol) printers which tell their capabilities by themselves.

Therefore I have, as part of my OpenPrinting work, conducted a change on
Chromium's print dialog, to not access CUPS and PPDs directly any more,
but use OpenPrinting's Common Print Dialog Backends instead. This is a
D-Bus protocol where the print dialog talks via D-Bus with backends, one
for each print technology in use (CUPS, cloud printing services, ...).
The D-Bus communication works over sandbox boundaries and also the
dialog does not deal with PPDs any more.

The implementation work was done in the Google Summer of Code 2023, by
Kushagra Sharma:

https://github.com/kushagra20251/GSoC/

The project is now available as a merge request to Chromium upstream and
needs to get merged:

https://chromium-review.googlesource.com/c/chromium/src/+/5007092

What is needed now is that this code gets merged, so that we have a
future-proof print dialog in Chromium.

** Changed in: chromium-browser (Ubuntu)
       Status: Confirmed => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2088333

Title:
  Chromium - printer unavailable - apparmor denial

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2088333/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to