Bug#747939: systemd: prevents hibernation without password with open screen session in other login session

Martin Steigerwald Martin at Lichtvoll.de
Tue May 13 08:57:59 BST 2014


Package: systemd
Version: 208-1
Severity: normal

Dear Maintainer,

if systemd is running I get a password prompt during hibernation[1][2].

Now if I spawn another KDE session, open a screen in it, quit the session,
loginctl still treats it as running session:

merkaba:~> loginctl | cat
         1       1000 martin           seat0
         4       2012 ms               seat0

Well, the screen is indeed running as that user:

ba:~> ps aux | grep "^ms" | grep -v grep
ms        5651  0.0  0.0  37792  1468 ?        Ss   Mai11   0:00 /lib/systemd/systemd --user
ms        5654  0.0  0.0 178412     4 ?        S    Mai11   0:00 (sd-pam)
ms       14034  0.0  0.0  26296  1288 ?        Ss   Mai12   0:01 SCREEN
ms       14035  0.0  0.0  44620  1004 pts/15   Ss+  Mai12   0:00 /usr/bin/zsh
ms       14061  0.0  0.0  40656   796 pts/16   Ss+  Mai12   0:00 /usr/bin/zsh

Honestly, while treating this as an still open session from a technical
session may be correct, this again shows why the policy of asking a password
on hibernation on a *single* seat system creates a lot of changes in default
behavior that I find outrightly annoying, unintuitive and from a user point
of view of common sense just plain broken.

This is *still* a single seat system. I am its boss. So it is supposed to do
what *I* want, instead of insisting of knowing better than me. And as I am
logged into to an existing session it is supposed to do so without asking
me any password anymore. I am authenticated, thanks.

The only way this could make sense from a usability point of view IMHO is
displaying a dialog with "hey, you still got a screen session open, really want
to hibernate?" before locking the screen with simple "yes" and "no" button.

Its obviously not there yet as it first locks the screen, then displays the
dialog, and then if I unlock the screen and and enter the password
immediately hibernates *without* locking the screen, basically hibernating
with a unlocked desktop if I am not quick enough to press Ctrl-L to lock it.
Thats why I yesterday used,

sleep 20 ; pm-hibernate

last night, I just wanted to go to sleep and hibernate the system.


Again just closing the lid will suspend the system just fine, without asking
a password, so its even inconsistent.

And again, changing it with

merkaba:/etc/polkit-1> cat ./localauthority/50-local.d/org.freedesktop.upower.pkla
[Suspend/hibernate permissions]
Identity=unix-group:sudo
Action=org.freedesktop.upower.hibernate;org.freedesktop.upower.suspend
ResultAny=yes
ResultInactive=yes
ResultActive=yes

does not have any effect on this.

So please, treat this report seriously at least from a policy point of view,
instead of just closing it again as "not your business".

I am ready to report different bugs for the affected components, in case
I get advice on where to report what, but please treat this as a regression
over previous behavior in case systemd is running. Previous behavior that
IMHO matches common sense much more closely.


[1] Debian BTS web gui does not respond within acceptable time, will add later
[2] See above.

Thanks,
Martin

-- Package-specific info:

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (200, 'experimental')Architecture: amd64 (x86_64)
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.15.0-rc5-tp520 (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages systemd depends on:
ii  acl                  2.2.52-1
ii  adduser              3.113+nmu3
ii  initscripts          2.88dsf-53
ii  libacl1              2.2.52-1
ii  libaudit1            1:2.3.6-1
ii  libblkid1            2.20.1-5.7
ii  libc6                2.18-5
ii  libcap2              1:2.22-1.2
ii  libcap2-bin          1:2.22-1.2
ii  libcryptsetup4       2:1.6.4-4
ii  libdbus-1-3          1.8.2-1
ii  libgcrypt11          1.5.3-4
ii  libkmod2             17-2
ii  liblzma5             5.1.1alpha+20120614-2
ii  libpam0g             1.1.8-3
ii  libselinux1          2.2.2-2
ii  libsystemd-daemon0   208-1
ii  libsystemd-journal0  208-1
ii  libsystemd-login0    208-1
ii  libudev1             204-10
ii  libwrap0             7.6.q-25
ii  sysv-rc              2.88dsf-53
ii  udev                 204-10
ii  util-linux           2.20.1-5.7

Versions of packages systemd recommends:
ii  libpam-systemd  208-1

Versions of packages systemd suggests:
pn  systemd-ui  <none>

-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: systemd-delta.txt
Type: text/x-diff
Size: 3530 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/attachments/20140513/aa55a831/attachment-0001.diff>
-------------- next part --------------
==> /var/lib/systemd/deb-systemd-helper-enabled/local-fs.target.wants/lvm2-activation-early.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/local-fs.target.wants/lvm2-activation.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/anacron.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/atd.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/avahi-daemon.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/binfmt-support.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/cups.path <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/dns-clean.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/libvirt-bin.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/libvirt-guests.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/lm-sensors.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/pppd-dns.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/rsyslog.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/ssh.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/virtlockd.socket <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/cups-browsed.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/NetworkManager.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/ModemManager.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/privoxy.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/printer.target.wants/cups.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/sockets.target.wants/avahi-daemon.socket <==

==> /var/lib/systemd/deb-systemd-helper-enabled/sockets.target.wants/cups.socket <==

==> /var/lib/systemd/deb-systemd-helper-enabled/sockets.target.wants/lvm2-lvmetad.socket <==

==> /var/lib/systemd/deb-systemd-helper-enabled/sockets.target.wants/virtlockd.socket <==

==> /var/lib/systemd/deb-systemd-helper-enabled/anacron.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/anacron.service

==> /var/lib/systemd/deb-systemd-helper-enabled/atd.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/atd.service

==> /var/lib/systemd/deb-systemd-helper-enabled/avahi-daemon.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/avahi-daemon.service
/etc/systemd/system/sockets.target.wants/avahi-daemon.socket
/etc/systemd/system/dbus-org.freedesktop.Avahi.service

==> /var/lib/systemd/deb-systemd-helper-enabled/avahi-daemon.socket.dsh-also <==
/etc/systemd/system/sockets.target.wants/avahi-daemon.socket

==> /var/lib/systemd/deb-systemd-helper-enabled/dbus-org.freedesktop.Avahi.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/dns-clean.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/dns-clean.service

==> /var/lib/systemd/deb-systemd-helper-enabled/libvirt-bin.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/libvirt-bin.service
/etc/systemd/system/multi-user.target.wants/libvirt-bin.service
/etc/systemd/system/multi-user.target.wants/libvirt-bin.service
/etc/systemd/system/multi-user.target.wants/libvirt-bin.service

==> /var/lib/systemd/deb-systemd-helper-enabled/libvirt-guests.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/libvirt-guests.service
/etc/systemd/system/multi-user.target.wants/libvirt-guests.service
/etc/systemd/system/multi-user.target.wants/libvirt-guests.service
/etc/systemd/system/multi-user.target.wants/libvirt-guests.service

==> /var/lib/systemd/deb-systemd-helper-enabled/lvm2-activation-early.service.dsh-also <==
/etc/systemd/system/local-fs.target.wants/lvm2-activation-early.service

==> /var/lib/systemd/deb-systemd-helper-enabled/lvm2-activation.service.dsh-also <==
/etc/systemd/system/local-fs.target.wants/lvm2-activation.service

==> /var/lib/systemd/deb-systemd-helper-enabled/lvm2-lvmetad.socket.dsh-also <==
/etc/systemd/system/sockets.target.wants/lvm2-lvmetad.socket

==> /var/lib/systemd/deb-systemd-helper-enabled/syslog.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/virtlockd.service.dsh-also <==
/etc/systemd/system/sockets.target.wants/virtlockd.socket

==> /var/lib/systemd/deb-systemd-helper-enabled/virtlockd.socket.dsh-also <==
/etc/systemd/system/multi-user.target.wants/virtlockd.socket
/etc/systemd/system/multi-user.target.wants/virtlockd.socket
/etc/systemd/system/multi-user.target.wants/virtlockd.socket
/etc/systemd/system/multi-user.target.wants/virtlockd.socket
/etc/systemd/system/sockets.target.wants/virtlockd.socket

==> /var/lib/systemd/deb-systemd-helper-enabled/bluetooth.target.wants/bluetooth.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/bluetooth.service.dsh-also <==
/etc/systemd/system/bluetooth.target.wants/bluetooth.service
/etc/systemd/system/dbus-org.bluez.service

==> /var/lib/systemd/deb-systemd-helper-enabled/dbus-org.bluez.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/sshd.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/rsyslog.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/rsyslog.service
/etc/systemd/system/syslog.service
/etc/systemd/system/multi-user.target.wants/rsyslog.service
/etc/systemd/system/syslog.service
/etc/systemd/system/multi-user.target.wants/rsyslog.service
/etc/systemd/system/syslog.service
/etc/systemd/system/multi-user.target.wants/rsyslog.service
/etc/systemd/system/syslog.service

==> /var/lib/systemd/deb-systemd-helper-enabled/dbus-org.freedesktop.nm-dispatcher.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/dbus-org.freedesktop.NetworkManager.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/ModemManager.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/ModemManager.service
/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service

==> /var/lib/systemd/deb-systemd-helper-enabled/dbus-org.freedesktop.ModemManager1.service <==

==> /var/lib/systemd/deb-systemd-helper-enabled/binfmt-support.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/binfmt-support.service

==> /var/lib/systemd/deb-systemd-helper-enabled/pppd-dns.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/pppd-dns.service

==> /var/lib/systemd/deb-systemd-helper-enabled/cups-browsed.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/cups-browsed.service

==> /var/lib/systemd/deb-systemd-helper-enabled/ssh.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/ssh.service
/etc/systemd/system/sshd.service

==> /var/lib/systemd/deb-systemd-helper-enabled/ssh.socket.dsh-also <==
/etc/systemd/system/sockets.target.wants/ssh.socket

==> /var/lib/systemd/deb-systemd-helper-enabled/NetworkManager-dispatcher.service.dsh-also <==
/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service

==> /var/lib/systemd/deb-systemd-helper-enabled/NetworkManager-wait-online.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/NetworkManager-wait-online.service

==> /var/lib/systemd/deb-systemd-helper-enabled/NetworkManager.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/NetworkManager.service
/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service

==> /var/lib/systemd/deb-systemd-helper-enabled/cups.service.dsh-also <==
/etc/systemd/system/sockets.target.wants/cups.socket
/etc/systemd/system/multi-user.target.wants/cups.path
/etc/systemd/system/printer.target.wants/cups.service

==> /var/lib/systemd/deb-systemd-helper-enabled/cups.path.dsh-also <==
/etc/systemd/system/multi-user.target.wants/cups.path

==> /var/lib/systemd/deb-systemd-helper-enabled/cups.socket.dsh-also <==
/etc/systemd/system/sockets.target.wants/cups.socket

==> /var/lib/systemd/deb-systemd-helper-enabled/lm-sensors.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/lm-sensors.service

==> /var/lib/systemd/deb-systemd-helper-enabled/privoxy.service.dsh-also <==
/etc/systemd/system/multi-user.target.wants/privoxy.service


More information about the Pkg-systemd-maintainers mailing list