Ticket #369 (closed defect: fixed)

Opened 12 years ago

Last modified 12 years ago

gdm-config needs to be entirely rewritten for Karmic’s gdm

Reported by: andersk Owned by:
Priority: blocker Milestone: Karmic Deploy (Canceled)
Component: -- Keywords: karmic
Cc: Fixed in version:
Upstream bug:

Description

GDM was rewritten from scratch after Jaunty’s 2.20, and works completely differently.

  • It doesn’t support XML themes.
  • gdm.conf is gone; it’s now configured entirely through gconf.
  • It gives you a user list by default; you need to click “Other…” to get a username textbox. (I think this is configurable?)
  • There’s now a notification area. (Maybe it could be used for running nm-applet inside gdm?)

Change History

comment:1 Changed 12 years ago by andersk

Here are some of the features and rationale for the rewrite, according to upstream:  http://live.gnome.org/GDM/NewDesign.

comment:2 Changed 12 years ago by jdreed

  • Priority changed from major to critical
  • Type changed from task to defect
  • Milestone set to IAP 2010

comment:3 Changed 12 years ago by jdreed

When redoing the greeter, we should keep in mind the concerns mentioned in #189. Specifically, we should not use fonts from msttcorefonts, and we should use SVGs (or whatever the awesome non-raster-graphics format of the day is) for all graphics.

comment:4 Changed 12 years ago by broder

  • Keywords karmic added

comment:5 follow-up: ↓ 7 Changed 12 years ago by broder

As far as I can tell, debathena-gdm-config needs to do three things for Karmic:

  1. Put Xauthority files in /tmp
  2. Disable the user list (i.e. show the username textbox by default)
  3. Do some kind of skinning

We do the first the same way we always have, by setting UserAuthDir?=/tmp in /etc/gdm.conf.

For the second, we set the gconf key /apps/gdm/simple-greeter/disable_user_list to false. There are still some UI issues with this, but it basically gets us where we want:

   debathena / trac-#369 / broder  18:03  (Evan Broder)
       Eww. If you set /apps/gdm/simple-greeter/disable_user_list, gdm doesn't
       actually default to a username prompt - it defaults to just a "Log In"
       button - /mit/broder/Public/gdm-no-user-list.png
   debathena / trac-#369 / broder  18:04  (Evan Broder)
       Also, if I just start typing at that prompt, it displays what I'm
       typing, but when I hit enter, nothing happens. I'm terrible at UIs, and
       /I/ still know that's bad. What are these people on?

Skinning the greeter is a little more complicated. The new world order basically treats GDM on equal footing with any other GNOME session. We can override the background image for GDM by changing /desktop/gnome/background/picture_filename, along with the other settings under /desktop/gnome/background. This probably means that each of the branding packages want to generate a single background image, as opposed to just the small SVG containing the metapackage information.

But...that's not all. While GDM is loading, Karmic pulls up xsplash. So unless we want a sudden jump from the default Ubuntu xsplash/gdm theme to our gdm theme, we need to also theme xsplash. See the ubuntu-xsplash-artwork for an example package that does this. I haven't figured out yet how we would do things like moving the throbber.

comment:6 Changed 12 years ago by broder

...huh. Awesome

Apparently the location of the throbber is hard-coded in - 1/3 down from the top of the screen and horizontally centered. Kwality.

If we create our own throbber image, xsplash will automatically break it into 50 vertical segments and use that for animating it.

comment:7 in reply to: ↑ 5 Changed 12 years ago by broder

  • Status changed from new to development

Replying to broder:

As far as I can tell, debathena-gdm-config needs to do three things for Karmic:

  1. Put Xauthority files in /tmp

This turns out not to be necessary, because the new gdm puts the Xauthority files in /var/run/gdm instead

  1. Disable the user list (i.e. show the username textbox by default)
  2. Do some kind of skinning

r24128 sets up gdm-config to stop transforming /etc/gdm/gdm.conf on Karmic; it's in development. It doesn't solve the other two issues, and it still installs the old-style gdm theme. So basically the package on Karmic does nothing at all now.

I'm still trying to figure out how best to config-package-deverize the Gconf configuration necessary for setting disable_user_list. Options include transforming /var/lib/gdm/.gconf.path to add another source, or transforming /var/lib/gdm/.gconf.defaults directly. Of course, since /var/lib/gdm isn't world-readable, either mechanism is going to require a debathena-gdm-hack (a la cupsys-hack), which will suck.

comment:8 Changed 12 years ago by broder

  • Status changed from development to proposed

comment:9 Changed 12 years ago by broder

  • Status changed from proposed to closed
  • Resolution set to fixed

Since the user list and skinning have been split out to #429 and #430 respectively, we can close this ticket.

Note: See TracTickets for help on using tickets.