Allright, similar issue but potentially different hardware and certainly different Ubuntu release. I'm running Karmic.
base:
Asrock ion330-ht
Karmic mini 32 bit
XCI install with script as of Dec 19.
issue:
Non shutdown/suspend/.... from XBMC (remote or button)
modifications:
modified /usr/share/polkit-1/actions/org.freedesktop.devicekit.power.policy setting <allow_inactive>no</allow_inactive> to yes for all power actions.
Code:
<action id="org.freedesktop.devicekit.power.suspend">
<description>Suspend the system</description>
<message>Authentication is required to suspend the system</message>
<defaults>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.devicekit.power.hibernate">
<description>Hibernate the system</description>
<message>Authentication is required to hibernate the system</message>
<defaults>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
and modified /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy setting allow_inactive to yes and adding allow_any to authorize auth_admin group
The auth_admin are actually defined in /etc/PolicyKit/PolicyKit.conf, see below.
Code:
<policyconfig>
<action id="org.freedesktop.consolekit.system.stop">
<description>Stop the system</description>
<message>System policy prevents stopping the system</message>
<defaults>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
<allow_any>auth_admin</allow_any>
</defaults>
</action>
<action id="org.freedesktop.consolekit.system.stop-multiple-users">
<description>Stop the system when multiple users are logged in</description>
<message>System policy prevents stopping the system when other users are logged in</message>
<defaults>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
<allow_any>auth_admin</allow_any>
</defaults>
</action>
<action id="org.freedesktop.consolekit.system.restart">
<description>Restart the system</description>
<message>System policy prevents restarting the system</message>
<defaults>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
<allow_any>auth_admin</allow_any>
</defaults>
</action>
<action id="org.freedesktop.consolekit.system.restart-multiple-users">
<description>Restart the system when multiple users are logged in</description>
<message>System policy prevents restarting the system when other users are logged in</message>
<defaults>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
<allow_any>auth_admin</allow_any>
</defaults>
</action>
</policyconfig>
Added the xbmc user to the users list.
/etc/PolicyKit/PolicyKit.conf
Code:
<config version="0.1">
<match user="root">
<return result="yes"/>
</match>
<match user="xbmc">
<return result="yes"/>
</match>
<define_admin_auth group="admin"/>
</config>
situation:
Now the suspend action does actually work.
It will suspend the system in all situations from within XBMC, either hit on the remote button or the GUI button.
The resume function will work... or not.
follow up:
I'm currently trying to figure out why.
The best way to get the stuff working for now on is to perform
the first suspend using the GUI button and not the remote one.
I'd don't like that behavior as it would suggest that the remote drivers could be in the middle of this issue.
I'm also not very happy with the various modifications I had to make.
I'll try to to figure out what is actually useful and what is not.