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