consolekit 和 elogind 有什么区别?

ein*_*lum 5 systemd daemon consolekit

ConsloeKit在 Linux 上跟踪用户会话的传统机制。eLogind 具有类似的功能,但基于 systemd 并且是“独立的”。

它们的功能/特性集有什么区别?它们的优缺点是什么?

Aus*_*arn 8

除了 Ortomala Lokni 指出的维护差异(我可能会添加仅适用于原始 ConsoleKit,有一个名为ConsoleKit2的分支正在积极维护),还有一些主要是细微的差异:

  • 配置的处理方式不同。ConsoleKit 有自己的配置目录,而 elogind 使用与 systemd-logind 相同的配置位置。
  • 确切的功能略有不同。我不记得这里的所有细节,但主要是没有被广泛使用的次要内容。
  • DBus API 的差异很大,大多数软件都需要构建以使用其中一种。我很确定其中大部分只是对 DBus 端点名称的更改,但可能还有其他一些事情。
  • ConsoleKit 要么不支持cgroups,要么只支持第一版 cgroups(如果使用 ConsoleKit2),elogind 只支持 v2 cgroups。
  • Elogind 实际上需要 cgroups,实际上可能在没有按照预期方式配置它们的系统上存在构建问题。

  • @einpoklum 因为 GNOME 开发人员认为 CK 已经过时了(我的意思是它没有维护,对吧)。GNOME 曾经使用 CK,在很短的时间内它可以使用 CK 或登录界面,但是一旦登录的东西起作用,他们很快就摆脱了对 CK 的支持。 (2认同)