GNOME Bugzilla – Bug 528663
Make the showing of the 'Other' user optional
Last modified: 2009-01-21 17:32:31 UTC
Hi, In a university where I'm working we are preparing to install the upcoming Fedora 9 on several computers. Fedora 9 is currently bundled with a snapshot of GDM, to be precise 2.21.10-0.2008.04.16.1.fc9. In this university all the accounts from the students and employees are maintained in an Active Directory. To make it possible to authenticate against this Active Directory we're using pam_winbind. During our tests with the latest build of Fedora 9 we've found out there is some annoying behaviour in the GDM bundled with Fedora 9. As we're not using the /etc/passwd file for the user accounts, the list of users in GDM only contains an 'Other' user. When GDM is started and the user starts to type his/her username an entry appears, but as soon as the <ENTER> key is pressed, the entry disappears and GDM doesn't respond. To really log in, the user first has to use the mouse to click on the 'Other' user and then type in their username and password. As this is quite annoying behaviour, I would like to see that the showing of the 'Other' user can be disabled and if there are no known users (from /etc/passwd) that an entry for the username is directly shown when GDM starts up (so no user chooser widget at all) Other information:
Hi, this is on the ToDo list (at http://live.gnome.org/GDM/ToDo) '* Preselect "Other..." if "Other..." is the only choice'
We do this now.
I've seen you are also the maintainer of GDM in Fedora. Would it be possible to push this patch to rawhide so that it will be in the final build of Fedora 9 ?
yea it's on the radar.
I've just tested this new GDM. When GDM is started (and there are no users found) the 'Other' option is selected and the username entry is shown. However, when the user tries to log in with a wrong username or password, the username entry doesn't re-appear automatically, only the 'Other' option is shown. As soon as the user clicks on this 'Other' option, the username entry re-appears and the user can log in as usual. Could this behaviour be fixed so that the user doesn't have to click on the 'Other' option anymore after a failed login?
yea, makes a lot of sense.
Created attachment 124832 [details] [review] patch fixing this problem By simply moving the clal for gdm_chooser_widget_activate_if_one_item from on_users_loaded to gdm_greeter_login_window_ready, this ensures that the Other selection is selected even if you hit "Escape" or if the user types in a bad password. I think showing the face browser with a single selection of "Other" is not very useful. So I added a function gdm_chooser_widget_hide_scrollable and call it from load_users if show_normal_users isn't true. This also hides the face browser only showing "Other" when the user has configured to not show users in the first place. Can this go upstream?
So one thing to to think about is, will there be a way for the user to get at the shutdown buttons with this change? Hiding the scrollable_widget seems okay to me. At a minimum we should use a different label than "Other" when it's selected.
Ah right, I didn't notice that the Shutdown/Restart/etc. buttons are only sensitive when no user is selected in the userlist. I can think of 3 ways to solve this: 1) Get rid of the code that makes the buttons insensitive ever. Since in the "one item in the list" case, we currently autoselect on startup, the buttons will not be visible on startup in this one-user case and a user would only see them after a failed login or hitting Escape, which seems awkward. I guess don't really see the value in making these buttons hidden or insensitive ever. If a user decides they want to shutdown after selecting a user in the face browser, why not let them? In this case, we could just hide the user list when there is only one item which is always in a selected state without a problem. 2) Hide the user list when there is only one item and always just autoselect it. Then, in the switch mode function of gdm-greeter-login-window.c, we could avoid hiding or making insensitive the buttons if there is only one user and it is always going to be selected. This way, the behavior is a bit different depending on whether there are multiple users in the face browser or just one. In the case where there are multiple users, the buttons will be insensitive when a user is selected, but in the case where there is just one user, the buttons will just always be available. 3) Keep the current behavior of making the user click on the "Other" button but relabel it to something more intuitive when there is only one user. I can't think of what a good label would be, but making the user click on something so they can enter their username and password after a failed login seems annoying. Especially for users with a11y needs who would find the extra navigation cumbersome. Thoughts? I'm happy to rework the patch to work any way we think makes the most sense.
For an alternative approach, see bug #568323 (my apologies for not having spotted this bug report before I filed it; I mistakenly filtered on the wrong range of gdm version numbers). I believe the patch I submitted in 568323 avoids the problems associated with the Shutdown/ Restart button behaviour, though it is a much more extensive patch.
Bug #568323 is a much better approach to fixing the remaining issues with usability when the face browser turned off. *** This bug has been marked as a duplicate of 568323 ***