Subject: slim logins don't get registered in utmp

From: Ralph Ronnquist <[email-masked]>
Date: Thu, 7 Mar 2019 20:55:43 +1100

Package: slim
Version: 1.3.6-5+devuan6

slim doesn't seem to update /var/run/utmp and /var/log/wtmp anymore?
...........
also previous versions of slim: I'm still getting the 'w' report:
------
 08:06:53 up 0 min,  0 users,  load average: 0.29, 0.08, 0.02
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
------

Likewise, 'last' tells about reboot and tty1 login(s) but not my 'slim'
logins.

I getting the same with the
previous slim distributions as well; I returned to 1.3.6-5.1+devuan2
just to verify, and I've now also gone "back" to 1.3.6-5+devuan4, which
'apt-cache policy slim' claims is the jessie version; the 'w' report
stays the same (also after reboots).

So, apparently 'slim' since long ago believes something else is
responsible for registring the session(s), but that something else
doesn't agree. Maybe that's down to 'consolekit', then?
.........
[addition by wirelessduck via [email-masked]]
I’m running consolekit with lightdm on a regular ascii.

I just installed slim alongside lightdm and set it as default. Rebooted
and logged in via slim.

I get nothing listed when running 'w' and 'who'. Checking output of
'last' shows the reboot time correctly but my slim login doesn’t appear
at all.

I switched back to lightdm and I see my user appearing in the output of
both 'w' and 'who'.  The 'last' output also shows my lightdm login from
tty7.

I should note that this login account comes from winbind, but I don’t
think that should be affecting this at all?

—Tom

..............
Further on this:

I've also got a dist-upgraded beowulf with a no-install-recommends
installation of task-xfce-desktop, and this one is fine wrt 'w'/'last'
report for slim using consolekt, and still fine when I downgraded
consolekit to the ascii version. The newest 'slim' is fine btw.

A little bit of digging tells me that my laptop has XDG_SESSION_COOKIE
set which my beowulf VM doesn't. That difference might be enough to
steer things differently for /etc/X11/Xsession.d/90consolekit, which (by
guesswork) has a significant decision point about the session startup.
Basically, X startup only runs /usr/bin/ck-launch-session if the
variable is unset (at that time).

Someone who knows stuff might kindly pull me right, but now I'm chasing
the reason why may latop gets XDG_SESSION_COOKIE set (while my beowulf
VM doesn't)...

Ralph.

---

From: Mark Hindley <[email-masked]>
Date: Thu, 7 Mar 2019 18:40:06 +0000

> the reason why may latop gets XDG_SESSION_COOKIE set (while my beowulf

XDG_SESSION_COOKIE is set by consolekit. elogind doesn't set it, so that makes
me think your beowulf VM which is working OK is using elogind rather than
consolekit. Can you check?

Thanks

Mark

---

From: Mark Hindley <[email-masked]>
Date: Fri, 8 Mar 2019 17:27:34 +0000

Ralph,

Could you try adding this configuration to /etc/slim.conf please?

# sessreg. You can use the %user variable
sessionstop_cmd exec sessreg -d -l $DISPLAY %user
sessionstart_cmd exec sessreg -a -l $DISPLAY %user

It fixes slim utmp/wtmp/lastlog registration for me although the process is
identified as ?xdm?. Trying to fix that....

Mark

---

From: Mark Hindley <[email-masked]>
Date: Wed, 17 Apr 2019 11:33:08 +0100

Ralph,

Just a follow up on this.

Although it is ugly, I think the ?xdm? in the IDLE column out from w is
technically correct: w is unable to determine the correct idle time for X. You
need xprintidle or the like for that.

Other than that, sessreg correctly registers sessions in utmp and lastlog for
me.

Can you confirm it works for you?

Mark