GDM Greeter First User Interface

Update from my previous post: Here we have a branch containing a working gdm greeter user interface with a nice python module set for interacting with the gdm greeter service.

What’s nice about this code is how little of it you need to hack on the gdm. Binding up the username and password box to the events pretty much does everything. Most of the original functionality is simple to do.

The design isn’t final, there are gtk limitations and since gdm doesn’t really do clutter or opengl, it’d be impossible to do anything more interesting unfortunately.

The difference in functionality here is that you enter your full name (not your username) and it suggests people to you. The idea with this is that if you type in your name and you’re not a user, the next screen you see will be a register screen.

I selected my name from the list and then entered my passphrase:

Then it will log you in exactly as it should. Have a look at the code and see if you can hack on the gdm, it’s really very easy if you know a bit of python and gtk.

Comment if you do anything interesting.

Tags: , , ,

6 Responses to “GDM Greeter First User Interface”

  1. Dylan McCall says:

    That’s a really good idea. I’ve always wanted account setup under GDM :)
    (It would be especially useful to log in as a guest).

    I hope this starts a trend! We need a new GDM to support all these new login sessions…

  2. Jim Campbell says:

    The one thing that is tricky about greeters is accessibility. How can someone who is blind still read the information on the bootup screen? How can they change the session?

    To do that, they need Orca to be running when the GDM screen comes up.

    You might want to keep that in mind as you continue with this work. Thanks for your efforts, Martin.

  3. doctormo says:

    @Jim: Yes, I believe Orca is running, or easily switch on, since it’s a full gnome session that’s running. But I don’t yet have any code to switch it on.

  4. Jay says: – it looks like that’s the correct link, is it?

    Btw, do you have any plans to (re)implement panel functionality as well?

  5. Jay says:

    Btw, how did you got ?
    As far as I understood dbus interface is considered private but gdm devs so it might fluctuate from version to version.
    So it would be great to automate gathering of such api info for particular version to make greeter porting easier.

  6. doctormo says:

    @Jay – I do have some plans to finish up the functionality, it’s fairly easy to add in since the python classes are flexible enough to do anything with the gdm services.

    If you’re interested in helping with some patches, I’d be very interested in seeing what you have planned.

    The api_guide was actually from the dbus introspection, I’ve had a bug report out for that upstream and they’re going to improve the code that deals with it.