Bug#854102: systemd-logind fails to update session's Display property after `startx` from VT
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Sat Feb 4 05:52:01 GMT 2017
Package: systemd
Version: 232-14
Severity: normal
i start my login on this system on a text-mode console (a "VT") and
then do "exec startx" to transition to a graphical X11 session.
>From within this graphical session, if i query logind about the
Display for the login session, it is the empty string, instead of what
it should be (":0").
logind knows that i'm on "/dev/tty1", according to its TTY property,
which is correct, but it should know the Display as well, since startx
just reuses the same VT for the graphical console.
here's me debugging it:
dkg at test:~$ SESSION_OBJ_PATH=$(busctl call org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager GetSessionByPID u $$ | awk '-F"' '/o/{ print $2 }')
dkg at test:~$ busctl get-property org.freedesktop.login1 "$SESSION_OBJ_PATH" org.freedesktop.login1.Session Display
s ""
$ busctl get-property org.freedesktop.login1 "$SESSION_OBJ_PATH" org.freedesktop.login1.Session TTY
s "/dev/tty1"
dkg at test:~$
logind should be aware when startx triggers the change and update its
conception of the use of the tty accordingly, though i'm not sure how
that would be done.
I'm looking into this because it would be nice to have anything that's
associated with the user session be able to know what the Display is
for that particular session (i care about this for gpg-agent and
pinentry, as discussed on #debian-systemd, but i'm sure there are
other use cases as well).
Thanks for maintaining systemd in debian!
--dkg
-- Package-specific info:
-- System Information:
Debian Release: 9.0
APT prefers testing-debug
APT policy: (500, 'testing-debug'), (500, 'testing'), (200, 'unstable-debug'), (200, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages systemd depends on:
ii adduser 3.115
ii libacl1 2.2.52-3
ii libapparmor1 2.11.0-2
ii libaudit1 1:2.6.7-1
ii libblkid1 2.29.1-1
ii libc6 2.24-9
ii libcap2 1:2.25-1
ii libcryptsetup4 2:1.7.3-3
ii libgcrypt20 1.7.5-3
ii libgpg-error0 1.26-2
ii libidn11 1.33-1
ii libip4tc0 1.6.0+snapshot20161117-5
ii libkmod2 23-2
ii liblz4-1 0.0~r131-2
ii liblzma5 5.2.2-1.2
ii libmount1 2.29.1-1
ii libpam0g 1.1.8-3.5
ii libseccomp2 2.3.1-2.1
ii libselinux1 2.6-3
ii libsystemd0 232-14
ii mount 2.29.1-1
ii util-linux 2.29.1-1
Versions of packages systemd recommends:
ii dbus 1.10.14-1
ii libpam-systemd 232-14
Versions of packages systemd suggests:
ii policykit-1 0.105-17
ii systemd-container 232-14
pn systemd-ui <none>
Versions of packages systemd is related to:
ii dracut 044+189-2
pn initramfs-tools <none>
ii udev 232-14
-- no debconf information
More information about the Pkg-systemd-maintainers
mailing list