Option #1: Implement in ConsoleKit and GDM code. Add ck-dynamic in ConsoleKit,
Xserver
^
| STEP 4: Create/Kill a Xsession on ":101"
|
gdm-binary (Listern for event from ConsoleKit)
^
| STEP 3: Signal CreateDisplay/RemoveDisplay event
| with display ":101"
_ _ _ _|
| ck-dynamic
| | ^
| __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ | |
| | |
| | STEP 2: Require to CreateSession/RemoveSession |
| | with display ":101" |
| | |
| V STEP 1: Call ck-dynamic when a display, e.g. ":101", |
ConsoleKit is added/removed. | | Xmgr/gdm Script
1. gdm-binary to listen for CreateDynamicDisplay/RemoveDynamicDisplay event to org.gnome.DisplayManager.LocalDisplayFactory
2. console-kit-daemon to listen for CreateSession/RemoveSession/ListenCreatedSessions events to org.freedesktop.ConsoleKit.Manager
3. ListenCreatedSessions only talks to ConsoleKit
4. gdmdynamic is a script wrapper for ck-dynamic
Option #2: Implement inside GDM code.
Xserver
^
| STEP 4: Create/Kill Xserver regarding ":101"
|
gdm-binary (Listern for event from ConsoleKit)
^ ^
| |__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
| |
| STEP 3: Register/Unregister a X session |
| corresponding to ":101" |
| |
| STEP 2: Require GDM to start/terminate Xsession for ":101" |
| |
| gdmdynamic
| |
V STEP 1: Call gdmdyncmic when a display, e.g. ":101", |
ConsoleKit is added/removed. | Xmgr/gdm Script
This is a feature requested by new GDM, which is to add gdmdynamic supporting in GDM. Refer to bug http:// bugzilla. gnome.org/ show_bug. cgi?id= 536355.
There are two options to achieve this goal.
Option #1: Implement in ConsoleKit and GDM code. Add ck-dynamic in ConsoleKit,
Xserver RemoveDisplay event RemoveSession |
|
Xmgr/gdm Script
^
| STEP 4: Create/Kill a Xsession on ":101"
|
gdm-binary (Listern for event from ConsoleKit)
^
| STEP 3: Signal CreateDisplay/
| with display ":101"
_ _ _ _|
| ck-dynamic
| | ^
| __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ | |
| | |
| | STEP 2: Require to CreateSession/
| | with display ":101" |
| | |
| V STEP 1: Call ck-dynamic when a display, e.g. ":101", |
ConsoleKit is added/removed. |
1. gdm-binary to listen for CreateDynamicDi splay/RemoveDyn amicDisplay event to org.gnome. DisplayManager. LocalDisplayFac tory RemoveSession/ ListenCreatedSe ssions events to org.freedesktop .ConsoleKit. Manager ssions only talks to ConsoleKit
2. console-kit-daemon to listen for CreateSession/
3. ListenCreatedSe
4. gdmdynamic is a script wrapper for ck-dynamic
Option #2: Implement inside GDM code.
Xserver
Xmgr/gdm Script
^
| STEP 4: Create/Kill Xserver regarding ":101"
|
gdm-binary (Listern for event from ConsoleKit)
^ ^
| |__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
| |
| STEP 3: Register/Unregister a X session |
| corresponding to ":101" |
| |
| STEP 2: Require GDM to start/terminate Xsession for ":101" |
| |
| gdmdynamic
| |
V STEP 1: Call gdmdyncmic when a display, e.g. ":101", |
ConsoleKit is added/removed. |
Option #2 is how patch in http:// bugzilla. gnome.org/ show_bug. cgi?id= 536355# c5 does.