Ok, some pointers in case that's useful, gdm has code in gdm-session-
record.c
void
gdm_session_record_login (GPid session_pid,
...
/* Handle wtmp */
g_debug ("Writing wtmp session record to "
GDM_NEW_SESSION_RECORDS_FILE);
#if defined(HAVE_UPDWTMPX)
updwtmpx (GDM_NEW_SESSION_RECORDS_FILE, &session_record);
#elif defined(HAVE_UPDWTMP)
updwtmp (GDM_NEW_SESSION_RECORDS_FILE, &session_record);
#elif defined(HAVE_LOGWTMP) && defined(HAVE_UT_UT_HOST)
#if defined(HAVE_UT_UT_USER)
logwtmp (session_record.ut_line, session_record.ut_user,
session_record.ut_host);
#elif defined(HAVE_UT_UT_NAME)
logwtmp (session_record.ut_line, session_record.ut_name,
session_record.ut_host);
#endif
#endif
/*
* Handle utmp
* Update if entry already exists
*/
#if defined(HAVE_GETUTXENT)
setutxent ();
while ((u = getutxent ()) != NULL) {
if (u->ut_type == USER_PROCESS &&
(session_record.ut_line != NULL &&
(strncmp (u->ut_line, session_record.ut_line,
sizeof (u->ut_line)) == 0 ||
u->ut_pid == session_record.ut_pid))) {
g_debug ("Updating existing utmp record");
pututxline (&session_record);
break;
}
}
endutxent ();
/* Add new entry if update did not work */
if (u == NULL) {
g_debug ("Adding new utmp record");
pututxline (&session_record);
}
#elif defined(HAVE_LOGIN)
login (&session_record);
#endif
}
..."
So it seems it's somewhat that is not integrated with the system stack
but that lightdm should be doing by itself on login
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/870297
Title:
Lightdm logins not being logged in wtmp
To manage notifications about this bug go to:
https://bugs.launchpad.net/lightdm/+bug/870297/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs