GNOME Bugzilla – Bug 333200
gdmgreeter shouldn't say "Username" and "Please enter username"
Last modified: 2009-02-06 20:49:08 UTC
Description of problem: When gdm is set to use the "Happy Gnome" login screen, it looks like this: In the center light blue area you have the following items (from top to bottom): 1) A welcom text 2) A label "Username:" 3) A textfield for entering that username 4) A Cancel button 5) An OK button 6) A text saying: "Please enter username" I would suggest removing line 6) and use the removed text on line 2 instead of the current "Username". As it is the user is asked for his username twice. This makes the dialog look too complex. I would also suggest making the cancel and OK button more buttonlike in appearance, now they look too much like textfields. I would also suggest putting the "cancel" and "OK" button side by side as most people are used to read text from left to right. Another thing, should it really be an OK button? In most other Gnome dialogs buttons have descriptive names. In this case the login procedure have a wizzard like appearance, and most wizzard doesn't use "OK" to get to the next page. I would suggest using "Next" or "Continue" instead of OK. Version-Release number of selected component (if applicable): Fedora FC5 test3 gdm-2.13.0.8-6 Other information:
This is hard. The problem is that the label (pam-message) which says "Please enter username" is used by the daemon to display various messages it wants to display. Grep the daemon code for "GDM_MSG" and you'll notice various messages like asking the user to enter root password for running gdmsetup from the login screen, and "Please enter username" and such are displayed with this label. The other label (pam-error) is used to display messages which come from the daemon with the "GDM_ERRBOX". You'll notice that these messages come from PAM. So the "Username" label you see is what PAM is asking for and the string may be different on different systems. One problem with PAM messages is that they may not be translated (GDM has some hackery to try and guess what PAM may ask for an translate it for you, but not guaranteed to work). Even though there are some translation issues, you really need this label in the theme because PAM may say something like "your account is disabled" or something so we definately want to show the PAM messages on the screen. So you really need both labels in the theme. PAM and GDM daemon may want to say different things (even at the same time) so both need a label. To get the effect you want, you probably need to hack the daemon code to look and see if the PAM message returned is "Username" and simply avoid sending the GDM_ERRBOX message in this case. This would be hacky, though, some PAM implementations may be localized and might return "Username" in the local language. I guess you could check for that too, but probably would not work with all situations. I guess we could get rid of the "Please enter username" label as another solution. This one is easier to control since it is managed by GDM. The problem with getting rid of this one is that this is guaranteed to be properly translated while the PAM messages are not (the hacky code in verify-pam.c may not be guessing what the strings will be on a given platform). I'll have to think about this.
Ideas? Useful to get input from the usability team...
If this is a pam problem, I suggest you leave gdm as it is. Bugs should be corrected in the right place. Making cludges only creates more problems down the line. In this case, I suppose we might get strange messages if the standard login procedure is not used e.g. if we use one time passwords or fingerprint readers. Is there any chance that this could be fixed by a gnome specific pam module?
I'm not sure this is a realistic approach. PAM modules tend to affect security, so most distros wouldn't want to move to a different set of PAM modules unless they have been properly audited, etc. If we are interested in doing all the work to make sure that a new set of PAM modules are secure, etc. then this might be a good approach. Perhaps a better option would be to add a GDM configuration key that disables pam-message from gdmlogin and gdmgreeter, so that by default they do not show up. Then distros or users who have problems with their PAM modules not returning properly translated strings can change the configuration option to put them back into the GUI's. Does this seem a resonable approach? This way only distros/users who have problematic PAM modules can turn this feature on, if needed. And the default behavior would be to not clutter the GUI with these extra GUI elements.
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for. Thanks!