Bug 594861

Summary: RFE: system-config-services needs to display a nice warning if authorizations are unobtainable
Product: [Fedora] Fedora Reporter: William Estrada <mrumunhum>
Component: system-config-servicesAssignee: Nils Philippsen <nphilipp>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: nphilipp
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-10 15:24:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description William Estrada 2010-05-21 19:49:28 UTC
Description of problem:
system-config-services fails to run

Version-Release number of selected component (if applicable):
fedora 12
system-config-services-docs-1.1.7-1.fc12.noarch
system-config-services-0.99.43-1.fc12.noarch

How reproducible:
enter system-config-services in gnome-terminal

Steps to Reproduce:
1.Open gnoeme-terminal
2.sudo su -
3.enter system-config-services
  
Actual results:
[root@server ~]# system-config-services 
Traceback (most recent call last):
  File "/usr/sbin/system-config-services", line 1040, in <module>
    GUI(use_dbus=use_dbus).run()
  File "/usr/sbin/system-config-services", line 958, in __init__
    if slip.dbus.polkit.AreAuthorizationsObtainable(self.polkit_actions):
  File "/usr/lib/python2.6/site-packages/slip/dbus/polkit.py", line 420, in AreAuthorizationsObtainable
    return __polkit.AreAuthorizationsObtainable(authorizations)
  File "/usr/lib/python2.6/site-packages/slip/dbus/polkit.py", line 317, in AreAuthorizationsObtainable
    if not self._polkitd_interface():
  File "/usr/lib/python2.6/site-packages/slip/dbus/polkit.py", line 257, in _polkitd_interface
    PolKit.__determine_polkit_version()
  File "/usr/lib/python2.6/site-packages/slip/dbus/polkit.py", line 240, in __determine_polkit_version
    raise VersionError("Cannot determine valid PolicyKit version.")
slip.dbus.polkit.VersionError: Cannot determine valid PolicyKit version.


Expected results:
Open services GUI

Additional info:
Running Fluxbox on different PC using DISPLAY=xx.xx.xx.xx:1.0

Comment 1 Nils Philippsen 2010-05-28 09:36:24 UTC
One, possibly two problems with your setup:

- You're exporting the display to another machine which causes all problems of havoc regarding ConsoleKit sessions and PolicyKit authorization.
- I'm not sure if a FluxBox session offers a PolicyKit auth agent, even if run locally. This is necessary to obtain authorization which s-c-services needs to run privileged operations.

As a workaround, you can run s-c-services as root, this will do all actions in one process, bypassing PolicyKit and dbus completely.

I'll keep this open to enhance s-c-services (and python-slip) so that a more meaningful warning is displayed instead of a traceback.

Comment 2 Nils Philippsen 2016-08-10 15:24:12 UTC
Thanks for taking the time to submit this request for enhancement.
Unfortunately, I haven't gotten around to implement this feature, sorry for
that.

Because I don't actively develop system-config-services anymore, I won't likely
find the time to work on this ticket, so I'll close this bug now.