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