I can confirm lightdm greeter leaves some proccesses behind when it's closed (like dbus-launch, dbus-daemon, at-spi-bus-launcher...) They are only definitely terminated when user logs out from that seat.
2015-07-07 14:10 GMT-03:00 David Herrmann <dh.herrm...@gmail.com>: > Hi > > On Tue, Jul 7, 2015 at 6:55 PM, Martin Pitt <martin.p...@ubuntu.com> > wrote: > > Hey David, > > > > David Herrmann [2015-07-07 18:31 +0200]: > >> > Revert "login: re-use VT-sessions if they already exist" - commit > 0204c4b > >> > http://cgit.freedesktop.org/systemd/systemd/commit/?id=0204c4b > >> > >> Can someone elaborate what exactly lightdm does here? We really want > >> to prevent multiple sessions on the same VT. This is just nasty and > >> never made any sense. So I'm really interested why lightdm doesn't > >> kill it's manager-session before it starts the new session. Any > >> particular reason here? > > > > I'll let Robert answer with the details, but something I noticed: > > > > It's not that simple to reproduce, but sometimes it seems the lightdm > > "greeter" session (running as user lightdm, where you select user/type > > password and so on) doesn't completely terminate, but some processes > > stay around in it. Thus the greeter session stays around in state > > "Closing", and then the "real" session starts on the same VT. > > > > I asked the reporter of https://launchpad.net/bugs/1472259 to attach > > systemd-cgls, so that we can see what's running in the session. > > So it might indeed just be a race in lightdm. Hmm.. > Anyway, this patch here should also fix the issue (if it does, I'll > commit something proper). > > Thanks > David > > diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c > index 0cc2cdf..bced693 100644 > --- a/src/login/logind-dbus.c > +++ b/src/login/logind-dbus.c > @@ -690,8 +690,11 @@ static int method_create_session > } > > manager_get_session_by_pid(m, leader, &session); > - if (!session && vtnr > 0 && vtnr < m->seat0->position_count) > + if (!session && vtnr > 0 && vtnr < m->seat0->position_count) { > session = m->seat0->positions[vtnr]; > + if (session && session->class == SESSION_GREETER) > + session = NULL; > + } > if (session) { > _cleanup_free_ char *path = NULL; > _cleanup_close_ int fifo_fd = -1; > _______________________________________________ > systemd-devel mailing list > systemd-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/systemd-devel > -- *Laércio de Sousa* *Orientador de Informática* *Escola Municipal "Professor Eulálio Gruppi"* *Rua Ismael da Silva Mello, 559, Mogi Moderno* *Mogi das Cruzes - SPCEP 08717-390* Telefone: (11) 4726-8313
_______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel