GNOME Bugzilla – Bug 302162
"Last" and "System Default" Language and Session options have usability issues
Last modified: 2010-06-04 19:39:42 UTC
Distribution/Version: Ubuntu 5.04 Steps to reproduce: 1. From the login screen, click "Language...". 2. Look at the list of languages. What you see, among other options): * "Last" * "System Default" These options aren't useful, because (a) they're redundant with one or two of the other options, and (b) you're not told what languages they are. Instead, I suggest: * the last language used should just be pre-selected when you open the dialog, rather than being a separate item; * the default setting should be shown next to the language name (for example, "English (default)"), rather than being a separate item.
I disagree with both of these suggestions because of the following: Lets say my last login was in English but I want to change it. So I make my language selection by clicking "Language..." and then select Finish and hit "OK". The I realize I "oops, I'm not Finish, I'm Polish" so I click Languages again. This is where a problem comes up. My LAST login was English, but my current Selection should be Polish. So a pre-select of your last language doesn't make sense here. It should maybe say "Last (English)" where English is the appropriate language. On the System Default, I for one think it needs to stay at the top of the list like it is, I don't want to have to go searching for it by every language. Maybe it should say "System Default (English)" where English is the appropriate language.
There is an issue with showing what the "Last" language is. It isn't good for gdm2 to touch the user's $HOME directory before authenticating. Some systems use PAM to set up mounts in an encrypted way. This can be per-user, so each user can have a defined encryption scheme. However if root mounts the user's $HOME directory before PAM does the authentication, then the mount gets setup without encryption. How would gdm2 be able to know the user's last Language without touching the user's $HOME directory? We can add a feature to get this information from the user's $HOME directory if we make it configuration choice to turn it on/off (so that user's can disable touching of the user's $HOME directory before PAM authentication). It would be a little weird to have the menu change after you enter your username (since you can't show the Last language until you know the username), but that's not a big deal. Adding a feature to show the system default language makes a lot of sense and doesn't have the above sorts of issues. I agree the last language should not be pre-selected. I also agree "System Default (English)" makes more sense than putting "langname (Default)" in the list.
Is it possible for gdm to say "Get the language from $HOME only if it doesn't require authentication"? That would be better than a pref, since the only reason for the pref would be something the computer already knows.
In what cases does GDM allow login without authentication (any user who requires typing in a password would be considered a user that requires authentication). I can think of a few cases. Automatic Login is one, but in this case, GDM doesn't show the greeter program at all - just goes straight to logging in the user. Timed Login is another case, but still a user could type in a different username/password and I'm not sure it is appropriate to show the "Last" value for the timed user when another user may login. Again, it might be acceptable to show the "Last" value after the username is entered since at that time, GDM could check and see what the "Last" value really is. But I don't see how it is possible to show "Last" when GDM is waiting for username entry, since we don't know which user we will be logging in.
Adding comment to this bug that was added to the duplicate bug 302165. Ubuntu bug about this: https://bugzilla.ubuntu.com/show_bug.cgi?id=12856
*** Bug 302165 has been marked as a duplicate of this bug. ***
This problem applies to both the Session and Language selection dialogs. There probably is no reason why GDM couldn't be more clear about what the system default is and specify it in the dialog. I would certainly accept a patch to change this. Regarding displaying the user's "Last" value for session/language, I don't think this is really worth changing. There are two main issues: 1) The problem is that to identify the user's last language and session, you need access to the user's $HOME directory. On some systems, the user's $HOME directory is mounted or created by the PAM authentication process, so you aren't guaranteed access to the information. Also, mounting the user's $HOME directory in the GDM process could cause problems if PAM wants to mount the user's $HOME directory in a specific way per-user. 2) GDM doesn't know what the user's "Last" value is until after the user has entered their username. So perhaps GDM could display the real value while the password entry is being shown, but would have to show something else (perhaps just show "Last") when the username is being requested. Wouldn't users get confused if the dialog changes depending on whether username or password is being requested? This bug report doesn't propose any good suggestions about how the dialog should behave in the two situations. If we were able to come up with something usable here, this feature to display the real "Last" session/language value would probably need to be configurable since some users would not want GDM to access user's $HOME directory until after PAM authentication for reasons described in #1 above. I'm reclosing bug #302165 since the code is identical for Session and Language and these should be modified together. I've updated the synopsis to clarify that this issue exists with both Session and Language.
Ubuntu bug is nowadays: https://launchpad.net/distros/ubuntu/+source/gdm/+bug/19112
Note in the first few comments, there seems to be some confusion. "Last Language" means simply "use the same language that the user chose the last time they logged in." Likewise for Session. This is a reasonable default choice for Language/Session since most users are going to use the same language/session each time they login. This feature would only be an annoying default for users who switch between different languages/sessions on a regular basis for whatever reason. Might be nice if GDM configuration allowed users to specify a different default session/language if they wanted. I still don't think it adds much value to actually show the users last choice in the menu dialog (e.g. "Last Language (English)" because until after username is entered, we don't know what user is logging in. Does it really add value to change the menu choice to show the actual language after username entry (e.g. only during password entry)? Perhaps it would add value on systems with only a single user, where we might be able to guess the choice. But how many people use GDM where they change the value for language/session and only have one user on the system. Seems like a real corner case to me. I think this bug should be closed as willnotfix, really. Unless someone suggests an elegant way to solve the problem.
Thanks for taking the time to report this bug. However, you are using a version that is too old and not supported anymore. GNOME developers are no longer working on that version, so unfortunately there will not be any bug fixes for the version that you use. By upgrading to a newer version of GNOME you could receive bug fixes and new functionality. You may need to upgrade your Linux distribution to obtain a newer version of GNOME. Please feel free to reopen this bug if the problem still occurs with a newer version of GNOME.