I've seen that recent GNU/Linux are using ConsoleKit and PolicyKit. What are they for? How do they work?
The best answer should explain what kind of problem each one tries to solve, and how they manage to solve it.
I'm a long-time GNU/Linux user, from a time when such things didn't exist. I've been using Slackware and recently Gentoo. I'm an advanced user/admin/developer, so the answer can (and should!) be as detailed and as accurate as possible. I want to understand how these things work, so I can use them (as an user or as a developer) the best possible way.