Version: unspecified (using KDE 4.6.5)
If someone searches 'printer' directly from the menu, system-config-printer-kde does not request Root when it opens, as it should. If you go into Printer Configuration through System Settings, however, it does correctly request root access. Root access is required to edit and configure settings, if root is not given, it errors out. Erroring out is perfectly fine and the error given (client-error-forbidden) makes sense if someone typed the root password wrong, but if the user was not prompt for root (such as through the menu) then the error makes no sense and is nothing short of confusing.
This behaviour is (presumably) incorrect and gives the user an inconsistent experience and makes KDE's Quality Control look bad, the fix itself should be a fairly simple one depending on how system-config-printer-kde is written
Steps to Reproduce:
Open Kickoff menu, search 'print' Printer Configuration opens. New Printer > New Network Printer > Error "CUPS SERVER ERROR: There was an error during the CUPS operation: 'client-error-forbidden' "
KDE Errors out and nothing happens
System-config-printer-kde should request root whether it was called from System Settings, or through the menu directly.
This is probably distro specific, root access is generally not needed in ubuntu to change cups settings through the cups interface used by s-c-p-k. What distro do you use?
The fact that root access is needed in the first place is indeed a bug.
The problem is that the system-config-printer-kde code doesn't properly implement the authentication classes, the implementation is still stubbed out. So it can't set anything as non-root. It needs to call the cups-pk-helper like the GTK+ system-config-printer does, then we can do away with running the stuff as root.
I see commented out authentication code in at least these 2 places:
(On Fedora, you need to authenticate to PolicyKit with the root password to be able to change printer settings from a s-c-p-kde as non-root.)
fwiw, marking confirmed
The new printer module that got added in either 4.9 or 4.10 fixes this issue, apparently the code was refactored enough to properly request root when needed-- even when called from the menu directly instead of through System Settings. Marking as fixed.
The new code is completely different, it got rewritten from scratch in C++ rather than Python.