[Bug 1226347] New: display-manager.service unconditionally overwrites /etc/vconsole.conf on start
https://bugzilla.suse.com/show_bug.cgi?id=1226347 Bug ID: 1226347 Summary: display-manager.service unconditionally overwrites /etc/vconsole.conf on start Classification: openSUSE Product: openSUSE Distribution Version: Leap 15.6 Hardware: Other OS: Other Status: NEW Severity: Major Priority: P5 - None Component: X.Org Assignee: gfx-bugs@suse.de Reporter: srid@rkmail.ru QA Contact: gfx-bugs@suse.de Target Milestone: --- Found By: --- Blocker: --- When display-manager.service starts, it unconditionally overwrites console configuration in /etc/vconsole.conf. display-manager.service is a part of 'xdm' package. It contains a script /etc/X11/xdm/keytable, which is run at service start. The script unconditionally changes system locale according to KEYMAP setting in /etc/vconsole.conf. This is not an acceptable behavior! For various reasons, user might want to have different values for KEYMAP and XKBLAYOUT. And sometimes, the preferred KEYMAP would not have an XKB counterpart leaving user without XKB settings at all. In my opinion, the keytable script should not unconditionally touch system configuration. What happens now: 1. The keytable script looks for /etc/vconsole. If it exists, it reads $KEYMAP and $KEYMAP_TOGGLE variables 2. Then it looks for /etc/X11/xorg.conf.d/00-keyboard.conf file. If this file does not exist, it calls 'localectl set-x11keymap us', which results in overwriting both $KEYMAP and $XKBLAYOUT variables in /etc/vconsole.conf, as localectl does automatic conversion of layout settings. 3. Then, it checks if previously stored $KEYMAP has a matching XKB layout in /us/share/systemd/kbd-model-map, but takes no action other than informing user with messages. 4. It calls 'localectl set-keymap $KEYMAP $KEYMAP_TOGGLE', overwriting /etc/vconsole.conf once more. 5. Last thing, script checks if /etc/X11/xorg.conf.d/00-keyboard.conf has appeared, and if it does not, it gives a warning. To me, all above makes no sense. I have no idea why we need this script at all. I believe, something like this should happen: 1. Script checks if /etc/X11/xorg.conf.d/00-keyboard.conf exists. If it is there, take no action and exit peacefully. It's not our business if the user has incorrect/inconsistent keyboard configuration. 2. If 00-keyboard.conf does not exist, script should check /etc/vconsole.conf for $XKBLAYOUT. If $XKBLAYOUT exists, it should be poke localectl with 'localectl --no-convert $XKBLAYOUT $XKBMODEL $XKBVARIANT $XKBOPTIONS' to generate new 00-keyboard.conf. Ideally, localectl should have an option to just touch XOrg config, without making changes to vconsole.conf. 3. If $XKBLAYOUT does not exists, or is empty, etc, it *might* be intentional, give a warning and let XOrg to start without 00-keyboard.conf file at all. I believe it should default to 'US' layout anyway. On the other hand, the Tumbleweed XDM package contains no such script at all, and everything continues to work if I delete it on Leap 15.6 manually. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1226347 https://bugzilla.suse.com/show_bug.cgi?id=1226347#c5 Iakov Karpov <srid@rkmail.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|DUPLICATE |FIXED --- Comment #5 from Iakov Karpov <srid@rkmail.ru> --- I am still not happy with automatic conversion of KEYMAP into XKBOPTIONS because it's not consistent and can lock you out of the system, making you unable to supply correct login/password, because you can't switch to latin symbols :( -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1226347 https://bugzilla.suse.com/show_bug.cgi?id=1226347#c8 Donald Curtis <bugrprt21882@online.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugrprt21882@online.de --- Comment #8 from Donald Curtis <bugrprt21882@online.de> --- (In reply to Iakov Karpov from comment #5)
I am still not happy with automatic conversion of KEYMAP into XKBOPTIONS because it's not consistent and can lock you out of the system, making you unable to supply correct login/password, because you can't switch to latin symbols :(
Agreed – repeating my comment in Bug 1229915 – Unfortunately "/etc/X11/xdm/keytable" uses '/usr/share/systemd/kbd-model-map' which doesn't reflect everything in '/usr/share/kbd/keymaps/xkb/'. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com