DevHeads.net

Disable hybernate/suspend in CentOS 7

Dear Experts,

Could someone point me in the right direction: how can I disable
hybernate/suspend in CentOS 7?

I get workstations for graduate students with decent amount of RAM (32
GB), and for machines with large RAM I either do not have swap at all of
have some small (4 GB) swap. As I remember from older manuals, one has to
have at least twice amount of swap compared to physical RAM for
hybernate/suspend to work. This probably is what bit me: new Dells came
with keyboard that has sleep button, when one hits that button the machine
locks up. (it stays powered on, does not respond mouse, keyboard, does not
respond ping).

I would like to disable that sleep button on keyboard. (I'm kind of trying
to avoid replacing keyboard with the ones that do not have "sleep" key).

Thanks a lot for all your help!

Valeri

++++++++++++++++++++++++++++++++++++++++
Valeri Galtsev
Sr System Administrator
Department of Astronomy and Astrophysics
Kavli Institute for Cosmological Physics
University of Chicago
Phone: 773-702-4247
++++++++++++++++++++++++++++++++++++++++

Comments

Re: Disable hybernate/suspend in CentOS 7

By Ned Slider at 10/13/2016 - 13:18

On 13/10/16 16:33, Valeri Galtsev wrote:

You should be able to do this with PolicyKit:

<a href="https://access.redhat.com/solutions/33954" title="https://access.redhat.com/solutions/33954">https://access.redhat.com/solutions/33954</a>

This solution is for RHEL6, but the same polkit rule should work on RHEL7.

Re: Disable hybernate/suspend in CentOS 7

By SilverTip257 at 10/13/2016 - 12:55

On Thu, Oct 13, 2016 at 11:33 AM, Valeri Galtsev < ... at kicp dot uchicago.edu>
wrote:

Have you tried disabling power management via GRUB options?
<a href="http://askubuntu.com/a/130541" title="http://askubuntu.com/a/130541">http://askubuntu.com/a/130541</a>

Re: Disable hybernate/suspend in CentOS 7

By Valeri Galtsev at 10/13/2016 - 17:10

On Thu, October 13, 2016 11:55 am, Mike - st257 wrote:
Mike, thanks! You gave me good enough push into right direction, thanks to
which I solved my problem.

Disabling power management via GRUB (boot) options didn't help me. I went
further along these lines, tried to tweak related stuff in
/etc/systemd/login.conf (systemd experts will probably lough, I'm not one,
so... ;-) - didn't help either. I finally came to doing what helped me:
edited

/usr/share/polkit-1/actions/org.freedesktop.login1.policy

(replaced "yes" with "no" in a few related places). This solved my
problem. I'm not posting what exactly I changed, as I overdid it (disabled
locally logged in user's ability to reboot/poweroff machine, and the same
from gdm loging screen - I will need to restore these).

Thanks!
Valeri

++++++++++++++++++++++++++++++++++++++++
Valeri Galtsev
Sr System Administrator
Department of Astronomy and Astrophysics
Kavli Institute for Cosmological Physics
University of Chicago
Phone: 773-702-4247
++++++++++++++++++++++++++++++++++++++++

Re: Disable hybernate/suspend in CentOS 7

By Liam O'Toole at 10/14/2016 - 04:19

On 2016-10-13, Valeri Galtsev
< ... at kicp dot uchicago.edu> wrote:
Be aware that the file
/usr/share/polkit-1/actions/org.freedesktop.login1.policy is not a
configfile and will be silently overwritten when systemd is upgraded.

In earlier releases of PolicyLit local changes were made in
/etc/polkit-1/localauthority, but I don't know if that approach still
works.

Re: Disable hybernate/suspend in CentOS 7

By Leon Fauster at 10/14/2016 - 06:05

Am 14.10.2016 um 10:19 schrieb Liam O'Toole <liam.p. ... at gmail dot com>:

its long time ago but some EL6 workstation have here:

$ cat /etc/polkit-1/localauthority/50-local.d/10-disable-hibernate.pkla
[Disable suspend]
Identity=unix-group:*
Action=org.freedesktop.devicekit.power.hibernate
ResultAny=no
ResultInactive=no
ResultActive=no

Re: Disable hybernate/suspend in CentOS 7

By Valeri Galtsev at 10/14/2016 - 11:37

On Fri, October 14, 2016 5:05 am, Leon Fauster wrote:
Thanks Leon and Liam! You finally set me straight. All works, and other
local user abilities stay intact (user can power of or reboot machine, the
same can be done from gdm login screen). What finally worked for me
(without fear to be overwritten with update) is the following. As you
said, I edited (created new) file:

/etc/polkit-1/localauthority/50-local.d/10-disable-hibernate.pkla

This is what I put in it:

[Disable suspend]
Identity=unix-group:*
#Action=org.freedesktop.devicekit.power.hibernate
Action=org.freedesktop.login1.inhibit-handle-suspend-key
ResultAny=no
ResultInactive=no
ResultActive=no

[Disable suspend2]
Identity=unix-group:*
Action=org.freedesktop.login1.inhibit-handle-hibernate-key
ResultAny=no
ResultInactive=no
ResultActive=no

[Disable suspend3]
Identity=unix-group:*
Action=org.freedesktop.login1.suspend
ResultAny=no
ResultInactive=no
ResultActive=no

[Disable suspend4]
Identity=unix-group:*
Action=org.freedesktop.login1.suspend-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no

[Disable suspend5]
Identity=unix-group:*
Action=org.freedesktop.login1.hibernate
ResultAny=no
ResultInactive=no
ResultActive=no

[Disable suspend6]
Identity=unix-group:*
Action=org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no

As they say: you don't need to know everything, you only need to know
right person you can ask ;-)

Thanks again, everybody!

Valeri

++++++++++++++++++++++++++++++++++++++++
Valeri Galtsev
Sr System Administrator
Department of Astronomy and Astrophysics
Kavli Institute for Cosmological Physics
University of Chicago
Phone: 773-702-4247
++++++++++++++++++++++++++++++++++++++++