Xfce Wiki

Sub domains

Why are the options for suspend/hibernate not there or I can not select them?

There are many possible reasons, for example your kernel could be compiled without suspend/hibernate options. It could also be that you don't have the right permissions to use them.

Assuming your kernel and computer's hardware does support suspend/hibernate, you can see what xfce4-power-manager is trying to do by starting it in debug mode. To do that first, stop the current running instance of xfce4-power-manager:

xfce4-power-manager -q

Then run it in debug mode:

xfce4-power-manager --no-daemon --debug

You'll then be able to see messages like:

TRACE[xfpm-polkit.c:406] xfpm_polkit_check_auth_intern(): Action=org.freedesktop.login1.suspend is authorized=FALSE
TRACE[xfpm-polkit.c:406] xfpm_polkit_check_auth_intern(): Action=org.freedesktop.login1.hibernate is authorized=FALSE

Which means xfce4-power-manager is trying to use systemd-logind, but your system or distribution's policy is preventing it (authorized=FALSE).

TRACE[xfpm-polkit.c:407] xfpm_polkit_check_auth_intern(): Action=org.freedesktop.upower.suspend is authorized=FALSE
TRACE[xfpm-polkit.c:407] xfpm_polkit_check_auth_intern(): Action=org.freedesktop.upower.hibernate is authorized=FALSE

These messages indicate that xfce4-power-manager is trying to use upower, but again is blocked by system/distribution policies.

TRACE[xfpm-polkit.c:407] xfpm_polkit_check_auth_intern(): Action=org.freedesktop.consolekit.system.suspend is authorized=FALSE
TRACE[xfpm-polkit.c:407] xfpm_polkit_check_auth_intern(): Action=org.freedesktop.consolekit.system.hibernate is authorized=FALSE

Here xfce4-power-manager is using ConsoleKit2 and is blocked by system/distribution policy.

TRACE[xfpm-power.c:236] xfpm_power_check_polkit_auth(): using xfpm internal suspend backend

Finally, if none of those other tools are detected then xfce4-power-manager falls back to an internal method to perform these actions. It will use an org.xfce.power.xfce4-pm-helper policy file to determine if it's authorized to perform those system actions. For the internal fallback (and ConsoleKit2) you'll need to ensure you have the pm-utils package installed if you're using Linux. FreeBSD, OpenBSD, and DragonFlyBSD based systems will just work.

I have put my computer into suspend or hibernate mode, but the computer is not waking up.

This was the subject of many bug reports. Please note that the power manager has nothing to do with these problems, since the kernel is responsible for these tasks. The kernel team is putting a lot of efforts into fixing these kind of problems, however, if you still have problems please report a bug to your distributor and hopefully they can contact the kernel team and possibly provide a work-around.

How can I make logind handle button events instead of xfce4-power-manager

By default xfce4-power-manager inhibit's logind handling suspend/hibernate and it's keys. This is to prevent conflicts that xfce4-power-manager and logind can have. If you wish to have xfce4-power-manager not inhibit logind for a particular function just set the value in xfconf's Settings Editor or with xfconf-queries as shown below.

To have logind handle the lid open/close event:

xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-lid-switch -n -t bool -s true

To have logind handle the power key:

xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-power-key -n -t bool -s true

To have logind handle the suspend key:

xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-suspend-key -n -t bool -s true

To have logind handle the hibernate key:

xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-hibernate-key -n -t bool -s true