Prise en charge de ConsoleKit

GDM contient la prise en charge de la publication des informations de connexion des utilisateurs au moyen de l'infrastructure de comptabilisation des sessions et des utilisateurs, connue sous le nom de ConsoleKit. ConsoleKit est capable de conserver la trace de tous les utilisateurs connectés. Il peut donc être considéré comme un remplacement des fichiers utmp et utmpx disponibles dans la plupart des systèmes d'exploitation de type Unix.

Lorsque GDM est sur le point de créer un nouveau processus de connexion pour un utilisateur, il appelle une méthode privilégiée de ConsoleKit dans le but d'ouvrir une nouvelle session pour cet utilisateur. À cet instant, GDM fournit aussi à ConsoleKit des informations au sujet de cette session : l'identifiant de l'utilisateur, le nom d'affichage X11 qui sera associé à la session, le nom d'hôte de provenance de la session (utile dans le cas d'un session XDMCP), si la session est liée, etc. En tant qu'entité à l'origine du processus utilisateur, GDM est dans une position unique pour la connaissance de la session utilisateur et pour fournir de manière sûre ces éléments d'information. L'utilisation de cette méthode privilégiée est limitée par le respect de la politique de sécurité du bus de messages système D-Bus.

Dans le cas où un utilisateur a une session existante et s'authentifie par GDM pour demander la reprise de cette session, GDM appelle une méthode privilégiée de ConsoleKit pour déverrouiller la session. Les détails précis de ce qui se passe lorsque la session reçoit ce signal de déverrouillage ne sont pas définis et sont spécifiques à la session. Cependant, la plupart des sessions répondent en déverrouillant un économiseur d'écran.

Lorsque l'utilisateur choisit de fermer sa session ou si GDM ou la session se ferme de manière inattendue, la session utilisateur ne sera plus référencée par ConsoleKit.