Hidden logind dependency
LightDM doesn't work against LoginKit. Seems it makes heavy use of logind, even after the disinfection.
strings `which lightdm` | grep -e login1 -e Seat
Maybe it should be patched, to insert LOGIND_RUNNING() before the login1 stuff.
Oh, I get it. Even worse than I thought.
LightDM connects to logind, then calls its methods if the connection succeeded. We want to:
- Use LOGIND_RUNNING() and make sure nobody creates that directory (probably not a good idea), or
- Unleash the power of #if 0 (ugly), or
- Develop many ConsoleKit wrappers in LoginKit (very complex), or
- Use the xfce4-power-manager patch to kick logind from the stock installation, so LightDM always falls back to ConsoleKit (pretty elegant, actually)
@jaromil - we have a problem.
I checked the latest image and indeed, /run/systemd is gone without logind. Therefore, if we insert LOGIND_RUNNING() call in login1_call_function(), LightDM will work if something other than logind exposes its D-Bus interface.
We'll trust your decision here, lets go for the most: 1)stable 2)minimal and 3)elegant solution, in order of priority.
Can a mix of 1) and 4) work? actually xfce4-power-manager is patched already in our repo. Does it makes sense to add also LOGIND_RUNNING() here to be sure?Edited
Yes, but I'll try 4) first, since it's the most elegant solution (no patching needed).
I'm currently building LightDM without the patch and trying to run it on a Devuan system with the patched xfce4-power-manager and without logind. I want to make sure both LightDM and xfce4-power-manager detect logind isn't there and fall back to ConsoleKit nicely, so we can drop logind without having to touch LightDM as well.
Status changed to closed