TODO - Should we update these docs? Probably should mention any configuration that users may want to do for using it with GDM? If so, perhaps this section should be moved to a subsection of the "Configure" section?
GDM includes support for publishing user login information with the user and login session accounting framework known as ConsoleKit. ConsoleKit is able to keep track of all the users currently logged in. In this respect, it can be used as a replacement for the utmp or utmpx files that are available on most Unix-like Operating Systems.
When GDM is about to create a new login process for a user it will call a privileged method of ConsoleKit in order to open a new session for this user. At this time GDM also provides ConsoleKit with information about this user session such as: the user ID, the X11 Display name that will be associated with the session, the host-name from which the session originates (useful in the case of an XDMCP session), whether or not this session is attached, etc. As the entity that initiates the user process, GDM is in a unique position know and to be trusted to provide these bits of information about the user session. The use of this privileged method is restricted by the use of D-Bus system message bus security policy.
In the case where a user with an existing session and has authenticated at GDM and requests to resume that existing session GDM calls a privileged method of ConsoleKit to unlock that session. The exact details of what happens when the session receives this unlock signal is undefined and session-specific. However, most sessions will unlock a screensaver in response.
When the user chooses to log out, or if GDM or the session quit unexpectedly the user session will be unregistered from ConsoleKit.
If support for ConsoleKit is not desired it can be disabled at build time using the "--with-console-kit=no" option when running configure.