William Jon McCann
mccann at jhu.edu
Thu Jan 11 08:47:49 PST 2007
I am pleased to announce the first public release of ConsoleKit.
ConsoleKit is a framework for defining and tracking users, login
sessions, and seats. The primary motivations for this framework are
to facilitate fast-user-switching and multi-seat capabilities, and to
enable more sophisticated policy decisions for desktop sessions.
David has written up a nice description of how ConsoleKit may be used
in Fedora (including a description of the D-Bus API):
But by no means is ConsoleKit desktop or distribution specific. While
there is already some support for ConsoleKit in parts of GNOME (GDM,
gnome-screensaver) we hope that other desktop environments will find
it just as useful.
The source is maintained in git at freedesktop.org:
And the 0.1.0 release is available:
There are a few examples of the API in action in the sources.
Glib C: http://gitweb.freedesktop.org/?p=ConsoleKit.git;a=blob;hb=HEAD;f=tools/list-sessions.c
The way it works, currently, is that after the login manager (KDM,
GDM, etc) authenticates a new user it tells ConsoleKit to open a new
session. CK then generates a globally unique secret cookie and
returns that to the login manager. The login manager stores that
cookie in the environment of the new login process as
XDG_SESSION_COOKIE (GDM 2.17.2 or greater already does this). So,
membership in this session is defined as knowledge of this cookie.
This aspect can be considered a replacement for utmp and things like
At the moment, some aspects of user-switching functionality are
limited to systems that have support for virtual consoles.
At least until David objects, discussion should take place on the HAL
list. So, please let us know what you think.
More information about the hal