xfce4-power-manager - Frequently Asked Questions
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:
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 effort 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 inhibits logind handling suspend/hibernate and its 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