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