We chose to use KDM, rather than GDM, for Scientific Linux 6 because it allowed us to tweak the behaviour of the login screen in a number of ways :
- Change background image (used, for example, to distinguish between exam and non-exam mode in student labs)
- Disable/enable power/shutdown/hibernate options (to stop users shutting down PCs in AV podiums)
- Hooks to run scripts, as root, at login and logout (to change device permissions)
- Disable user login list (we have far too many users for this to be practical)
Unfortunately, development of KDM has ceased and there is no version available for EL7, so we had to find an alternative.
We decided to investigate whether the current EL7 version of GDM provides the above required functionality. We found that 4) was simple to disable using dconf and 2) is possible using polkit configuration. We expect that changing device permissions at user login/logout, 3), should be possible using udev configuration – we have yet to confirm this. As far as we can see, 1) is not possible. Whilst it is possible to change various elements of the login screen using dconf resources, it is not possible to change the background image. The GDM login (“greeter”) screen is built up using CSS elements – the background image is hard-wired to be noise-texture.png in /usr/share/gnome-shell/theme/gnome-shell.css. It appears that the only way to modify the the “greeter” screen is to modify this file, owned by the gnome-shell RPM. GDM also has some “usability” issues. Many of the prompts are displayed in too small a font – impossible to change without making changes to the CSS as above. Tab completion for user names has been deprecated, which results too easily in one typing one’s password in the Username box.
The LightDM display manager is available in EPEL for EL7. This provides all the required functionality listed above – an LCFG component has been produced to configure these. However, LightDM has its own problems. Gnome 3 has done away with a separate screen lock program – locking is now provided jointly by GDM, gnome-shell and gnome-session. LightDM does not itself support screen locking – later versions do, with LightLocker – so a separate screen lock program is required. We have built xscreensaver (version from Fedora18) for use with LightDM – it’s not yet clear how we configure sensible defaults (eg blankscreen for screensaver) for this without modifying the RPM. Another concern with LightDM is power-management – this needs further investigation.
Summary – it appears that we can do more with GDM, under EL7, than we could under EL6. Using GDM feels like a more sustainable approach as it is the official out-the-box solution, but can we live without the ability to change the background login screen and those usability issues?