xfce: Allow shutdown for non-root users
The xfce wiki offers a number of different solutions. The one I prefer uses hal and dbus.
Step 1: Find out how the user group for all things power is called in your distribution. Quoting the wiki:
Your /etc/dbus-1/system.d/hal.conf should contain a section similar to this:
<policy group="power">
<allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
...
</policy>
Here, the user group is called power. On my debian installation, I found it is called powerdev.
Step 2: Again, from the wiki:
Add the user to the power group (root):
gpasswd -a <username> power
When you logout and login again, the shutdown and restart buttons should be sensitive. Note: Reboot or restart of the deamons required; just logging out to the xdm login screen is not sufficient.
Edit: The solution above didn't work on a fresh install. The following trick worked (Source):
Create /etc/polkit-1/localauthority/50-local.d/shutdownreboot.pkla
and add the following:
[restart]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.restart
ResultAny=yes
[stop]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop
ResultAny=yes
Just as zebonaut said, most Linux distributions should ship a group called power
or powerdev
that has the permission to, well, control the system power. Just as you have a group audio
or audiodev
with access to the audio devices and netdev
for network devices, plugdev
, scanner
- you see the pattern.
Note that to see the changes take effect, you may need to log out and log in again. Group permissions are usually applied at login time.
Adding users to these groups will allow them to perform the shutdown action.