What’s the difference between consolekit and elogind

consolekitdaemonsystemd

ConsloeKit is the traditional mechanism for tracking user sessions on Linux. eLogind has similar functionality, but is based on systemd and "independentized".

What are the differences in their functionality/feature set? What are their pros and cons?

Best Answer

Aside from the difference in maintainership pointed out by Ortomala Lokni (which I might add is only accurate for the original ConsoleKit, there is a fork called ConsoleKit2 which is actively maintained), there are a handful of mostly minor differences:

  • Configuration is handled differently. ConsoleKit has it's own configuration directory, while elogind uses the same configuration locations as systemd-logind.
  • Exact functionality is slightly different. I don't remember all of the specifics here, but it's mostly minor stuff that is not widely used.
  • The DBus API's are sufficiently different that most software needs to be built to use one or the other. I'm pretty sure most of this is just a change to the name of the DBus endpoints, but there might be a few other things too.
  • ConsoleKit either doesn't support cgroups, or only supports version one cgroups (if using ConsoleKit2), elogind only supports v2 cgroups.
  • Elogind actually needs cgroups, and in fact may have build problems on systems that do not have them configured the way it expects them to be.