Announcing ConsoleKit

William Jon McCann mccann at jhu.edu
Thu Jan 11 08:47:49 PST 2007


Hello,

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):
http://fedoraproject.org/wiki/Desktop/FastUserSwitching

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:
http://gitweb.freedesktop.org/?p=ConsoleKit.git;a=summary

And the 0.1.0 release is available:
http://people.freedesktop.org/~mccann/dist/console-kit-0.1.0.tar.gz

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
 Python:  http://gitweb.freedesktop.org/?p=ConsoleKit.git;a=blob;hb=HEAD;f=src/test-fus

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
pam_console.

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.

Thank you,
Jon


More information about the hal mailing list