How to customize login screens?

I want to show additional buttons at either username-list or password-input screen, which execute another program A (described below) on click, then let the user login without inputting username/password if program A returns a “success” value. Is that possible? And how to?
What program A does: it performs some not-keyboard&mouse interaction with the user, e.g. (but not confined to) retina scanning. If the interaction gives a result matching some pre-configured ones, program A returns “success”.

2 Likes

Biometric authentication should be possible with PAM:
https://help.gnome.org/admin/gdm/stable/security.html.en#PAM
But GDM is barely customizable, so either patch the source code or use some other DMs.

4 Likes

Well, I do have implemented the functionality in a PAM module, but failed to plug into the GUI login sequence. Thanks for the link.


I'll take this completely impossible for now, since GDM doesn't seem to be bothered by PAM (/etc/pam.d/gdm, according to their doc) at all.
3 Likes

You might want to take a look at /etc/pam/gdm-fingerprint and how that’s implemented in Files · master · GNOME / gdm · GitLab. Or, you might want to look at LightDM as a more customizable alternative for your use case.

2 Likes