On Thu, Aug 13, 2009 at 03:08:34PM -0500, Brian Cameron wrote:
> I am fairly confident that a change to hardcode the list to a
                                         ^^^^^^^^
> configuration key would not be accepted upstream.  The upstream GDM
> community has worked hard to try and make the Face Browser more usable
> for the average user.  In other words, people want GDM to "just work"
> out of the box, without needing to do special configuration to specify
> a list of users to include.

I never said anything about "hardcoding" anything.  Quite the contrary.

Clearly GDM's face browser cannot ""just work" out of the box" if there
are no face pics, and when the user takes/installs the face pic the user
can then just be added (silently or otherwise) to the face browser list.

I see nothing controversial about that, and plenty controversial about
the heuristics you've described.  I think the subject ought to at least
be broached with the upstream community, and if they'll take #ifdef
SOLARIS code from you anyways, then just do it.

But, you've proffered a solution that gets close -- let's work with it:

> After talking with the upstream GDM developers, the following change
> would be acceptable to go upstream:
> 
> - The SUNWgnome-display-mgr-root package would install a directory
>   /var/cache/gdm.

Yes, let's cache dmrc and face pics.

> - At run-time GDM would create a directory /var/cache/gdm/user-$uid
>   when a user logs in, if the directory does not already exist.  In
>   this file will be placed two files: dmrc and face.

Yup.

> - If the /var/cache/gdm/user-$uid/dmrc file does not exist, then
>   GDM will log the user into the default session/language or whichever
>   ones they selected in the GUI.  Then it will save the dmrc file to
>   the cache with the default settings.  On next login, the defaults
>   will be read from the cache and not the user's $HOME directory.

The cache should also be updated at logout time, if at all possible.
(But the system component doing a logout-time update wouldn't
necessarily be part of GDM.)

> - On first login the /var/cache/gdm/user-$uid/face file will not
>   exist so the user will see a generic user icon for their face.
>   After authentication, GDM will check if the user has a defined
>   face and copy it to the cached file.  Also, on logout, GDM will check
>   again if the user has a defined face and copy it to the cached file.
>   This way the face image will be available on next login if the user
>   defined it during their session.  Obviously the face image will only
>   be copied to the cache if one is not already in the cache or if the
>   cached file is older.  Using this technique, GDM would only access
>   the face images from the cache, and not the user's $HOME directory.

IMO an option to not include users in the face browser who lack cached
face pics is necessary: when that option is enabled then GDM would not
need any local user heuristics.  I find such heuristics rather
objectionable.

> If it is a TCR requirement for GDM to work this way before it
> integrates, then we can make it work this way.
> 
> Is that reasonable?

It is reasonable, except for that one minor issue mentioned above.

Thanks,

Nico
-- 

Reply via email to