Re: [gdm-list] Multi-seat and multi-display support design



On Wed, 2009-03-11 at 11:15 +0100, Oswald Buddenhagen wrote:
> On Wed, Mar 11, 2009 at 10:53:12AM +0800, Halton Huo wrote:
> > Perhaps he does not like this because putting such configuration at the
> > ConsoleKit layer makes it harder to integrate ConsoleKit into other
> > display managers like KDM.
> >
> yes, it potentially restricts alternative designs too much.
> ConsoleKit should be a registry which keeps and relays information about
> seats and sessions, but should not be the authoritative source for this
> information.
> 
> > If so, then we would need to redesign our solution so it works more
> > similarly to the original gdmdynamic patch which talked directly to GDM
> > and not to ConsoleKit.
> >
> i don't mind a ck-dynamic command as such. it could just relay "new
> display" requests to the display manager.
> 
> anyway, this is your exclusive playground, as i currently simply don't
> have enough time to actively contribute. i just don't want to find
> myself in a situation where i cannot innovate because of having to
> adhere to a system-wide design which is too restrictive and cannot be
> changed for compatibility reasons.
> 
> if you haven't done so yet, you should have a look at kdm's
> configuration to avoid creating something which is incompatible from the
> onset -
> http://docs.kde.org/stable/en/kdebase-workspace/kdm/kdm-files.html
> from what i've seen, your seat-related config is fairly similar to mine
> (well, there isn't that much room for alternatives). the most notable
> thing about kdm's configuration is the hierarchical design (directly
> based on X resources), which saves some duplication.
Hi Oswald,

Look at the KDM configuration, it is kind of similar with old GDM
configuration -
http://library.gnome.org/admin/gdm/2.20/configuration.html.en. Here
'old' means gdm-2.20.x and previous versions.

GDM was re-written since 2.21 release. The <share>/gdm/defaults.conf is
not used anymore. Only left daemon and xdmcp configuration. Refer to
http://live.gnome.org/GDM/2.22/Configuration. (gdm experts, please
correct me if I'm wrong)

The new GDM writers deleted the codes of reading displays configuration.
They want to ConsoleKit can do that, so that ConsoleKit can initialize
multi-seats and multi-displays. (This is what I'm doing now)

Check with the diagram to start static displays on my design wiki. In
order to support multi-seat and multi-display, I add one method
"CreateStaticDisplays" in org.freedesktop.ConsoleKit.Manager and two
methods "CreateDisplay/RemoveDisplay" in
org.gnome.DisplayManager.LocalDisplayFactory

The base idea is:
(1) After GDM init, it invokes CK to start seats/displays by calling
"CreateStaticDisplays"
(2) CK reads seat/display configurations, and calls "CreateDisplay" to
tell GDM create displays for each seat.

If KDM do not want to ConsoleKit initialize the seats and displays.  
I guess the multi-displays function still work without any change
(because KDM already do it). But for multi-seats, I guess it is not
supported expect that KDM want manage seats information and ConsoleKit
is just a listener.

-Halton



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]