[Pkg-systemd-maintainers] Bug#727605: Add support for systemd inhibit API
Michael Biebl
biebl at debian.org
Thu Oct 24 15:03:51 BST 2013
Package: xfce4-power-manager
Version: 1.2.0-2
Severity: normal
Tags: patch
User: pkg-systemd-maintainers at lists.alioth.debian.org
Usertags: systemd-logind
Hi,
when systemd-logind is active it will by default react to power events
and execute the actions configured in /etc/systemd/logind.conf.
A desktop environment usually wants to handle such events on their own.
E.g. they want to lock the screen on suspend or hibernate or show a
confirmation dialog before shutdown when the power button is pressed.
For that, the desktop environments are supposed to grab an inhibitor
lock [1] for the events it wants to handle.
There is a command line tool systemd-inhibit [2] which you can use to
inspect currently active locks and it can also be used to grab a lock.
As a desktop environment, you can either stick a call like
"systemd-inhibit --what=handle-lid-switch:handle-power-key:handle-suspend-key:handle-hibernate-key"
in your session start script or you let your desktop session component
responsible for power management grab that lock. This is e.g. how it's
done in GNOME, where gnome-settings-daemon is grabbing the lock and in
KDE, where PowerDevil, does the same.
There exist patches for xfce4-power-manager to use the logind inhibit
API and also use the suspend/shutdown/shutdown/reboot D-Bus API provided
by logind. Please not, that a working suspend/shutdown/shutdown/reboot
requires functionality from systemd, as logind will forward those
request to the running systemd process.
The patches are available at [3], specifically
a/ xfce4-power-manager-systemd-inhibit.patch
b/ xfce4-power-manager-systemd-shutdown-reboot-support.patch
c/ xfce4-power-manager-systemd-suspend-hibernate-suport.patch
You can choose to only apply a/ and continue to use upower, even when
systemd is active. But as you are already aware, the suspend/hibernate
functionality is going to be removed from upower 1.0, so it makes sense
to include b/ and c/ as well.
If you have further questions, please ask.
Michael
[1] http://www.freedesktop.org/wiki/Software/systemd/inhibit/
[2] http://www.freedesktop.org/software/systemd/man/systemd-inhibit.html
[2] https://build.opensuse.org/package/show/X11:xfce/xfce4-power-manager
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable'), (200, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.11-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages xfce4-power-manager depends on:
ii libc6 2.17-93
ii libcairo2 1.12.16-2
ii libdbus-1-3 1.6.16-1
ii libdbus-glib-1-2 0.100.2-1
ii libgdk-pixbuf2.0-0 2.28.2-1
ii libglib2.0-0 2.36.4-1
ii libgtk2.0-0 2.24.22-1
ii libnotify4 0.7.6-1
ii libx11-6 2:1.6.2-1
ii libxext6 2:1.3.2-1
pn libxfce4ui-1-0 <none>
pn libxfce4util6 <none>
pn libxfconf-0-2 <none>
ii libxrandr2 2:1.4.1-1
ii upower 0.9.23-2
pn xfce4-power-manager-data <none>
Versions of packages xfce4-power-manager recommends:
ii consolekit 0.4.6-3+b1
Versions of packages xfce4-power-manager suggests:
ii udisks 1.0.4-8+b1
pn xfce4-power-manager-plugins <none>
More information about the Pkg-systemd-maintainers
mailing list