From 2e415f120e7652da842632cc822faa9bb16294f6 Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Wed, 14 Mar 2007 23:18:13 -0400 Subject: add some more docs --- doc/xml/ck-terms.xml | 49 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 4 deletions(-) (limited to 'doc/xml/ck-terms.xml') diff --git a/doc/xml/ck-terms.xml b/doc/xml/ck-terms.xml index 781e503..9b582da 100644 --- a/doc/xml/ck-terms.xml +++ b/doc/xml/ck-terms.xml @@ -4,22 +4,63 @@ Session - ConsoleKit is a framework for keeping track of the various - users, sessions, and seats present on a system. It - provides a mechanism for software to react to changes of any of - these items or of any of the metadata associated with them. +A session is a collection of all processes that share knowledge of a +secret. In the typical (or ideal) case, these processes all originate +from a single common ancestor. + + +As an implementation detail, for now, this secret should be stored in +the process environment by the session leader under the name +XDG_SESSION_COOKIE. When and if we are able to take advantage of a +mechanism in the underlying system to store session registration +information - we will. However, such a mechanism is not known at the +present time. + + +Using an environment variable does have certain advantages. For one, +it is quite easy for a process to opt-out of a Session by simply +unsetting the XDG_SESSION_COOKIE variable. + + +Limitations of using an environment variable implementation include +not being able to strictly limit visibility of the secret to a particular +process ancestry. So, it is not possible to enforce session boundaries +other than on a per-user basis. For example, we don't yet have a way +to prevent a process from moving between sessions owned by the same +user. Session leader +The session leader is the process that requests that a new session be +opened. It does this by connecting to the D-Bus system bus and using +either org.freedesktop.ConsoleKit.Manager.OpenSession() or +org.freedesktop.ConsoleKit.Manager.OpenSessionWithParameters(). The session +that it registers will be remain open until the connection to the system +bus is lost or it calls org.freedesktop.ConsoleKit.Manager.CloseSession(). + + +The session leader is the only process for which CloseSession() will +be allowed. Seat +A seat is a collection of sessions and a set of hardware (usually at +least a keyboard and mouse). Only one session may be active on a +seat at a time. + + +At the present time, all Sessions that are considered "local" to +a system will be added the the first Seat and every other Session +will be added to its own Seat. + + +True, hardware, multi-seat capabilities will be added in a later release. -- cgit