Login Screen

Status: Complete


A shell-style greeter.


Since we already have a 'black bar' on the login screen, the minimal necessary work here is to write a greeter replacement in 'shell optics', which will likely involve using clutter and copying parts of the st toolkit for use in the greeter. There is a larger question of how to unify login screen and lock screen, and whether this should all live in the compositor instead. But for 3.2, focusing on a greeter replacement might be the most productive.

An initial setup tool

This tool will guide you through the essential steps for setting up GNOME the first time you use a newly installed system and then smoothly transition into your regular session, without another detour through the login screen.


Discussion between Ray and Matthias resulted in the following rough plan:

  • Move the prototype initial-setup tool to gdm (since it has more to do with login than with control-center). Need to somehow share the timezone map images, then.
  • Add the ability to gdms slave code to run an 'alternative welcome session', this will be used to run an 'initial setup' session. The 'initial setup' session will use /usr/share/gdm/autostart/InitialSetup for its session configuration.
  • This will be triggered by a file in /etc/gdm or by some other simple config mechanism. Going off 'empty user list' is too prone to race conditions and intermittent failure.
  • In the 'initial setup' code path, the slave will create temporary initial-setup user account for this purpose, and then run the 'initial setup' session in it, and remove the initial-setup account when the welcome session has ended. Setting up this temporary account includes installing a suitable .pkla file for PolicyKit to grant this user the privileges it needs for doing the setup tasks. If we don't give the initial-setup user a password, PolicyKit will not show any dialogs.

  • The initial-setup tool running in that session will create the actual user account, copy all customizations over to this new account, and then call BeginAutoLogin on the slave.

It is worth pointing out that this will be an optional feature of gdm; distributions can easily opt out of this, or tailor it to their needs.

Miscellaneous cleanup

There is a number of long-standing patches / branches / cleanups that should finally be landed in the gdm mainline. One of them is the 'pam multistack' branch, which enables fingerprint and smartcard authentication on the login screen. Another is to cut down on the interfaces and abstractions that were never put into gdms internal interfaces at the time of the rewrite, but were never put to use (e.g. factory mode)


Ray Strode, Matthias Clasen

Involved Parties


Current Status

The initial setup tool and the necessary gdm support is being developed in the wip/initial-setup branch of gdm. Discussion about sharing the timezone setup widget and data between multiple projects is happening here.

The 'pam multistack' branch has been merged into gdm master, along with various cleanups. Ray has posted a long description of this work.

Initial work on a gnome-shell based login screen has been pushed into the 'wip/shell-greeter' gdm branch. The bulk of the work on the new greeter will be in gnome-shell; it is in the 'wip/gdm-shell'. See another post by Ray about the status of this.

How to Help

Talk to the owners.

ThreePointOne/Features/LoginScreen (last edited 2011-08-31 19:34:58 by walters)