summaryrefslogtreecommitdiffstats
path: root/doc/xml/ck-terms.xml
diff options
context:
space:
mode:
authorWilliam Jon McCann <mccann@jhu.edu>2007-03-14 23:18:13 -0400
committerWilliam Jon McCann <mccann@jhu.edu>2007-03-14 23:18:13 -0400
commit2e415f120e7652da842632cc822faa9bb16294f6 (patch)
tree018451136d3ff283d17f9865618e0de5f891a62f /doc/xml/ck-terms.xml
parent314b18ca8045eda3c48c0e7a5f2c0e26635ce5b8 (diff)
add some more docs
Diffstat (limited to 'doc/xml/ck-terms.xml')
-rw-r--r--doc/xml/ck-terms.xml49
1 files changed, 45 insertions, 4 deletions
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 @@
<sect1>
<title>Session</title>
<para>
- 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.
+ </para>
+ <para>
+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.
+ </para>
+ <para>
+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.
+ </para>
+ <para>
+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.
</para>
</sect1>
<sect1>
<title>Session leader</title>
<para>
+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().
+ </para>
+ <para>
+The session leader is the only process for which CloseSession() will
+be allowed.
</para>
</sect1>
<sect1>
<title>Seat</title>
<para>
+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.
+ </para>
+ <para>
+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.
+ </para>
+ <para>
+True, hardware, multi-seat capabilities will be added in a later release.
</para>
</sect1>