Joerg:

>> ConsoleKit only knows about what seats are running if GDM informs it.
>> So, if we integrate it, this would make the warning go away, but
>> ConsoleKit wouldn't have the right data to pass back, and wouldn't work
>> right.  Therefore, we should wait to integrate ConsoleKit with the new
>> rewritten GDM, which uses ConsoleKit.
> 
> AFAICT even the 'old' GDM supports ConsoleKit, if enabled during the 
> build. So it should be possible to switch on that support as soon as 
> ConsoleKit is available on Solaris.
> 
> OTOH ConsoleKit is still work in progress. So the benefit it actually 
> brings at this time is somewhat limited.

I was intentionally ignoring that.  I was figuring most people wouldn't
care about the gory details, but since you asked...   :)

Yes, GDM 2.20 does have some ConsoleKit support.  However, I'm not sure
how well ConsoleKit works on Solaris with the old GDM 2.20 code.  It
has not been tested.  Since GDM 2.20 only uses a small percentage of
ConsoleKit functionality, testing should probably involve more than
just verifying that GDM works.

I am also not sure if the latest ConsoleKit works with GDM 2.20, or if
you would need to integrate an older version ConsoleKit that was
designed to work with the older GDM.  Note that the code to make
ConsoleKit work on Solaris is only in the most recent versions of
ConsoleKit.  If GDM 2.20 needs an older version of ConsoleKit, then
I would expect a fair bit of backporting work.

At any rate, I believe that the ConsoleKit maintainer is not investing
much energy fixing bugs with how it works with GDM 2.20, so if we decide
to use ConsoleKit with GDM 2.20 I would expect that we would have to do
all the work.  Instead the ConsoleKit maintainer seems to be focusing
his energy more on getting the new GDM/ConsoleKit stuff working,
understandably.

I would expect that on Solaris that we would find some issues with
ConsoleKit due to its extensive usage of Linux-isms.  I've been working
to make ConsoleKit work reasonably on Solaris, but there are still some
remaining issues.

For example, there is a known issue with the way ConsoleKit gets the TTY
associated with Xservers.  Currently it opens a connection to the
Xserver, uses getpeerucred to get the pid associated with the Xserver
process, and digs around in /proc to get the associated TTY value.  This
no longer works since they changed the Xserver on Solaris to use named
pipes instead of sockets, and getpeercred doesn't work with named pipes.
In addition, Alan Coopersmith has suggested that we not use this
unstable interface and find something more sane to use.  That's just
one example.

Since there are no really interesting features in GNOME that depend
on ConsoleKit yet, I recommend we hold off integrating it.  It would
be best if we integrate ConsoleKit support along with the new GDM
rewrite, rather than try to integrate ConsoleKit first.

If you disagree with my analysis and if you think there are some really
important ConsoleKit features we need in the short term, then lets talk
further.  At any rate, I am letting you know that it will be a fair bit
of work to integrate ConsoleKit, and my plan was to do this work over
time so it coincided with the new GDM rewrite integration.

Another reason I've been wanting to hold off is that ConsoleKit isn't
really done yet.  They haven't, for example, implemented how it will
support multiple displays.  Personally I think it would be better to
integrate this after it matures to the point which it supports the 
minimum necessary functionality in order to integrate the new GDM
rewrite into Solaris.

-- 

Brian

Reply via email to