Bug 628462
Summary: | [gdm][ru_RU] Cannot enter password (so cannot logon) in gdm using Russian keyboard (layout) | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Kenichi Takemura <ktakemur> |
Component: | gdm | Assignee: | Ray Strode [halfline] <rstrode> |
Status: | CLOSED ERRATA | QA Contact: | QE Internationalization Bugs <qe-i18n-bugs> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 6.0 | CC: | ebaak, llim, mospina, otaylor, petersen, rstrode |
Target Milestone: | rc | Keywords: | i18n, RHELNAK |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | gdm-2.30.4-25.el6 | Doc Type: | Bug Fix |
Doc Text: |
If a Russian keyboard is chosen during system installation, the login screen is configured to use Russian input for user names and passwords by default. However, pressing Left Shift and Right Shift does not cause the input to change to ASCII mode. Consequently, the user cannot log in. To work around this issue, run the following sequence, as root, post installation:
. /etc/sysconfig/keyboard; echo $LAYOUT | grep -q ",us" && gconftool-2
--direct --config-source xml:readwrite:/var/lib/gdm/.gconf --set
/apps/gdm/simple-greeter/recent-layouts --type list --list-type string $(echo
$LAYOUT | awk -F, '{ print "[" $2 "," $1 "]"; }') && echo "DONE"
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2011-12-06 17:57:41 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 629274 | ||
Bug Blocks: | 474014 |
Description
Kenichi Takemura
2010-08-30 06:42:33 UTC
Adding Manuel in the CC list. Thank you for your bug report. This issue was evaluated for inclusion in the current release of Red Hat Enterprise Linux. Unfortunately, we are unable to address this request in the current release. Because we are in the final stage of Red Hat Enterprise Linux 6 development, only significant, release-blocking issues involving serious regressions and data corruption can be considered. If you believe this issue meets the release blocking criteria as defined and communicated to you by your Red Hat Support representative, please ask your representative to file this issue as a blocker for the current release. Otherwise, ask that it be evaluated for inclusion in the next minor release of Red Hat Enterprise Linux. While investigating this issue we've discovered a number of fairly serious issues with the code for setting and using keyboard layouts. It needs a bit of re-engineering. Some issues include: * HAL layout properties are not updated after running system-config-keyboard and so are in practice only set at boot or resume * GDM's layout chooser does not handle the case where the global config contains multiple groups (eg "ru,us") * GDM discards the global configuration options from _XKB_RULES_NAMES property * GDM does not properly support switching between layout groups using hotkeys * Confusing relationship between per user and per session layout selections We recommend reworking part of the design to place the keyboard layout selector together with the other per-session/system status items at the right side of the lower panel and have it be visible at all times. The list of layouts should be kept in sync with the value of the _XKB_RULES_NAMES property of the root window - instead of overriding it. The maximum number of items in the layout chooser list will be xkl_engine_get_max_num_groups() which seems to be 4. And the current selection in that list should "lock the group" using xkl_engine_lock_group(). Changes in the configuration and state should be monitored using XklEngine signals "X-config-changed" and "X-state-changed", respectively. The current selection in the layout selector widget should reflect the group value returned by xkl_engine_get_current_state(). For a release note, we can ask the user to do something ugly like running the following as root after the initial install: echo . /etc/sysconfig/keyboard; echo $LAYOUT | grep -q ",us" && gconftool-2 --direct --config-source xml:readwrite:/var/lib/gdm/.gconf --set /apps/gdm/simple-greeter/recent-layouts --type list --list-type string $(echo $LAYOUT | awk -F, '{ print "[" $2 "," $1 "]"; }') && echo "DONE" This should ensure that the GDM layout selection will add the us layout when a us group is present in the global configuration. It should also reverse the order to place "us" first in the list so that it is preferred. This will work around the issue where there is no way to switch layouts (either with hotkeys or the layout chooser) for the username entry box. Oops spurious first echo there. Command should be (as root): . /etc/sysconfig/keyboard; echo $LAYOUT | grep -q ",us" && gconftool-2 --direct --config-source xml:readwrite:/var/lib/gdm/.gconf --set /apps/gdm/simple-greeter/recent-layouts --type list --list-type string $(echo $LAYOUT | awk -F, '{ print "[" $2 "," $1 "]"; }') && echo "DONE" Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: For a release note, we can ask the user to do something ugly like running the following as root after the initial install: echo . /etc/sysconfig/keyboard; echo $LAYOUT | grep -q ",us" && gconftool-2 --direct --config-source xml:readwrite:/var/lib/gdm/.gconf --set /apps/gdm/simple-greeter/recent-layouts --type list --list-type string $(echo $LAYOUT | awk -F, '{ print "[" $2 "," $1 "]"; }') && echo "DONE" This should ensure that the GDM layout selection will add the us layout when a us group is present in the global configuration. It should also reverse the order to place "us" first in the list so that it is preferred. This will work around the issue where there is no way to switch layouts (either with hotkeys or the layout chooser) for the username entry box. (In reply to comment #10) > Technical note added. If any revisions are required, please edit the > "Technical Notes" field > accordingly. All revisions will be proofread by the Engineering Content > Services team. > > New Contents: > For a release note, we can ask the user to do something ugly like running the > following as root after the initial install: > echo . /etc/sysconfig/keyboard; echo $LAYOUT | grep -q ",us" && gconftool-2 > --direct --config-source xml:readwrite:/var/lib/gdm/.gconf --set > /apps/gdm/simple-greeter/recent-layouts --type list --list-type string $(echo > $LAYOUT | awk -F, '{ print "[" $2 "," $1 "]"; }') && echo "DONE" As mentioned in comment 9 that first echo should be removed. Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1,6 +1,6 @@ For a release note, we can ask the user to do something ugly like running the following as root after the initial install: -echo . /etc/sysconfig/keyboard; echo $LAYOUT | grep -q ",us" && gconftool-2 +. /etc/sysconfig/keyboard; echo $LAYOUT | grep -q ",us" && gconftool-2 --direct --config-source xml:readwrite:/var/lib/gdm/.gconf --set /apps/gdm/simple-greeter/recent-layouts --type list --list-type string $(echo $LAYOUT | awk -F, '{ print "[" $2 "," $1 "]"; }') && echo "DONE" Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1,12 +1,6 @@ -For a release note, we can ask the user to do something ugly like running the -following as root after the initial install: +If a Russian keyboard is chosen during system installation, the login screen is configured to use Russian input for user names and passwords by default. However, pressing Left Shift and Right Shift does not cause the input to change to ASCII mode. Consequently, the user cannot log in. To work around this issue, run the following sequence, as root, post installation: + . /etc/sysconfig/keyboard; echo $LAYOUT | grep -q ",us" && gconftool-2 --direct --config-source xml:readwrite:/var/lib/gdm/.gconf --set /apps/gdm/simple-greeter/recent-layouts --type list --list-type string $(echo -$LAYOUT | awk -F, '{ print "[" $2 "," $1 "]"; }') && echo "DONE" +$LAYOUT | awk -F, '{ print "[" $2 "," $1 "]"; }') && echo "DONE"- -This should ensure that the GDM layout selection will add the us layout when a -us group is present in the global configuration. It should also reverse the -order to place "us" first in the list so that it is preferred. This will work -around the issue where there is no way to switch layouts (either with hotkeys -or the layout chooser) for the username entry box. This would be very nice to fix, but the plan in comment 8 requires a substantial commitment of developer resources and QE resources (addition of new UI controls) and I don't see the developer resources being available in the 6.1 timescale. Hi we are testing RHEL6.1 with RU key board and this bug happens. But the work around provided in RHEL6.0 release not does not work. Can the same work around be applied to RHEL6.1 as well? This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release. Okay, revisiting this, I have a thoughts re comment 8. > Some issues include: > * HAL layout properties are not updated after running system-config-keyboard > and so are in practice only set at boot or resume This should probably be fixed in system-config-keyboard. I'll file a bug about that. > * GDM's layout chooser does not handle the case where the global config > contains multiple groups (eg "ru,us") > * GDM discards the global configuration options from _XKB_RULES_NAMES property > * GDM does not properly support switching between layout groups using hotkeys These three are all presumably fairly closely related. > The maximum number of items in the > layout chooser list will be xkl_engine_get_max_num_groups() which seems to be > 4 Okay, so the new proposal is to essentially change the layout chooser to be a layout group chooser. Rather than roll this ourselves, we should just use the same code that the panel and gnome-screensaver currently use (GKBDIndicator). This way we get the same experience before and after login, and at the unlock screen, and don't have a bunch of duplicate code. This does mean the user won't be able to pick a keyboard layout they isn't in the set defined in /etc/sysconfig/keyboard. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2011-1721.html *** Bug 603958 has been marked as a duplicate of this bug. *** |