Copy pasting from https://wiki.gnome.org/Projects/ConsoleKit. We announced this as well on distributor-list, which we expect any distributor of GNOME to be subscribed to (please do so!). Discussion was held on desktop-devel-list.
ConsoleKit is a framework for registering and enumerating login and user sessions. It is currently deprecated and unmaintained, though the project was recently forked into a backward compatible
ConsoleKit2 project. that is getting limited maintenance.
The functionality of ConsoleKit has been superseded by
logind which is a
systemd component. logind provides nicer APIs and better integration with the system. It supports multiple seats per-machine, and has a mechanism for provisioning devices to unprivileged programs. Although systemd is not available for all systems, there have been a number of initiatives to fill the gap left by ConsoleKit, including:
LoginKit(logind compatible api on top of ConsoleKit2);
systemd-shim(limited support for some of the systemd apis);
systembsd(a reimplementation of the systemd apis portable to BSD distributions).
Some GNOME components still support ConsoleKit in a best-effort, last-ditch-fallback sense, though, the ConsoleKit codepaths aren’t as widely tested. Some components now require logind to function properly. Distributions that wish to ship without logind in GNOME 3.16 need to patch ConsoleKit support back in to those components:
- gnome-shell needs this commit reverted: https://git.gnome.org/browse/gnome-shell/commit/js/misc/loginManager.js?id=a244c1e987502e359c45c0a9bc0012b5bc635553
- GDM will lose ConsoleKit support before GNOME 3.16, see https://mail.gnome.org/archives/desktop-devel-list/2015-January/msg00108.html . Once it’s removed, the wiki page will get updated with information on how to patch it back in.
GNOME 3.18 onwards
For GNOME 3.18 we expect anyone not being able to use logind to make use of
systembsd. Likely more modules will remove ConsoleKit codepaths.