How can I totally disable suspend & hibernate

I just installed openSUSE 11.1 on a Dell PowerEdge 2400.

Since this is operating as a server, I have no need of suspend, and the only time I would have wanted hibernate would have been if the UPS was running low.

Regretfully, the system will not resume successfully from hibernate, and I don’t have the time to figure out why.

My concern is that some of the users who will have access to the machine might try to suspend or hibernate it, causing all types of problems.

Is there any way that I can totally disable suspend/hibernate capabilities, without messing up the ability of the UPS to shut down the system if the battery is running low?

Thanks!

One way would be to edit the PolicyKit file (as root)

usr/share/PolicyKit/policy/org.freedesktop.hal.power-management.policy

to prevent users from suspending, hibernating, rebooting etc

Search the relevant sections (org.freedesktop.hal.power-management.hibernate) for example and change

<allow_active>yes</allow_active>

to

<allow_active>no</allow_active>

If you are interested, there are PolicyKit CLI tools that can do the same. Type

man polkit-auth

for more info.

Wanted to add that there is a graphical config tool called ‘polkit-gnome-authorization’ that can be used to configure various PolicyKit permissions. Even though I’m using KDE4, I installed PolicyKit-gnome package to take advantage of this useful utility.