On Wed, 2009-08-12 at 17:18 +0800, Edward Shu wrote: > Brian Cameron: > > 2. Project Summary > > 2.1. Project Description: > > > > ConsoleKit is a FreeDesktop framework for defining and tracking > > users, > > login sessions and seats. ConsoleKit has two main purposes: > > > > - To maintain a database of information about each running session > > which the display manager (GDM) uses. The old GDM keeps track of > > this information internally, but new versions of GDM (2.21 and > > later) use ConsoleKit. > > - To support switching sessions and session migration when using > > > What is "session migration" here? Does it mean the session can be > migrated from > one VT to another VT? With VT, will ConsoleKit be noticed the session > switch? > Session switch may automatically cause the keyboard and mouse migration > between sessions. Currently in Solaris, graphics session will grab the > mouse and keyboard input from the text session in the session switch. > Leave the session migration question for Brian.
> > > > 4. Technical Description: > > 4.1. Details: > > > > ConsoleKit maintains a database of which users are logged into the > > system. ConsoleKit groups sessions by seats which represent a set > > of > > hardware (usually a keyboard and mouse). Other process communicate > > with ConsoleKit via D-Bus. > > > How ConsoleKit know which seat the session belong to? > For each session, there is D-Bus method call "GetSeatId" to get the seat id. And ck-list-sessions will print all properties of a session include seat. In the 4.1.2 ck-list-sessions, the seat id is 'Seat1' [quote] SessionSeat1Local: unix-user = '50' realname = 'GDM Reserved UID' seat = 'Seat1' session-type = 'LoginWindow' display-type = 'Local' open = 'TRUE' active = 'TRUE' x11-display = ':0' x11-display-device = '/dev/console' display-device = '/dev/console' remote-host-name = '' is-local = 'TRUE' on-since = '2009-08-11T06:46:42.941134Z' login-session-id = '' idle-since-hint = '' [/quote] Regards, Halton.