[Bug 1046436] New: after installation in "german", desktop has english keyboard layout
http://bugzilla.suse.com/show_bug.cgi?id=1046436 Bug ID: 1046436 Summary: after installation in "german", desktop has english keyboard layout Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Installation Assignee: yast2-maintainers@suse.de Reporter: meissner@suse.com QA Contact: jsrain@suse.com Found By: --- Blocker: --- I just installed Tumbleweed 20170626 fresh, GNOME desktop. I selected German keyboard in the installer. The finally running GNOME has english keyboard layout. It is not fully clear if this is YAST or GNOME fault -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c1
--- Comment #1 from Marcus Meissner
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c2
--- Comment #2 from Marcus Meissner
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c3
--- Comment #3 from Marcus Meissner
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c4
Steffen Winterfeldt
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c5
Steffen Winterfeldt
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c6
Steffen Winterfeldt
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c8
Steffen Winterfeldt
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c9
Steffen Winterfeldt
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c10
Steffen Winterfeldt
/usr/bin/localectl --no-convert set-keymap de-nodeadkeys Failed to set keymap: Failed to execute program org.freedesktop.locale1: Permission denied
'man localectl' says:
It communicates with systemd-localed(8) to modify files such as /etc/locale.conf and /etc/vconsole.conf.
This sentence is new in TW. Note that we don't have systemd running during installation. (2) 'yast keyboard' fiddles with a non-existent 'kbd.service'. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c11
Lukas Ocilka
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c12
Stefan Dirsch
The change was implemented as an answer to https://bugzilla.suse.com/show_bug.cgi?id=1023774
Stefan, what should we do then?
I have no idea. I guess for such issues we need to create a script during installation, which is executed the first time, when the system boots after installation with systemd active. And only then and only once. I know, this is crap, but you asked me for a proposal. ;-) -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c13
Egbert Eich
The change was implemented as an answer to https://bugzilla.suse.com/show_bug.cgi?id=1023774
Stefan, what should we do then?
Wouldn't it make sense to request some input from the systemd experts about this? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c14
Thomas Blume
(In reply to Lukas Ocilka from comment #11)
The change was implemented as an answer to https://bugzilla.suse.com/show_bug.cgi?id=1023774
Stefan, what should we do then?
Wouldn't it make sense to request some input from the systemd experts about this?
I guess the answer it a fix for bug#1014991 (see bug 1014991 comment#7). -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c15
--- Comment #15 from Thomas Blume
There are actually two things:
(1)
/usr/bin/localectl --no-convert set-keymap de-nodeadkeys Failed to set keymap: Failed to execute program org.freedesktop.locale1: Permission denied
localectl does dbus calls to talk to systemd-localed. Unfortunately, org.freedesktop.locale1 is not registered with dbus in the installation system: --> # dbus-send --system --print-reply --type=method_call --dest=org.freedesktop.locale1 /org/freedesktop/locale1 org.freedesktop.locale1.SetVConsoleKeyboard string:"de-nodeadkeys" string:"" boolean:false boolean:true Error org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program org.freedesktop.locale1: Permission denied --< The easiest is probably to create a temporary unit that runs localectl at first system boot. Something similar is done via systemd-firstboot.service. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c16
Franck Bui
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c17
--- Comment #17 from Stefan Dirsch
Or maybe the installer (and only the installer) could initialize /etc/vconsole.conf directly ?
Franck, haven't you told me, that /etc/vconsole.conf shouldn't be written directly, only indirectly by means of using localectrl? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c18
--- Comment #18 from Franck Bui
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c19
--- Comment #19 from Stefan Dirsch
Indeed but maybe we could make an exception during the *installation* process...
No, everything would be in an inconsistent state again! -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c20
--- Comment #20 from Franck Bui
No, everything would be in an inconsistent state again!
could you refresh my memory ? ;) -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c21
Thomas Blume
Or maybe introduce something like "yast2-firstboot.service" as it was suggested by Thomas. That might be also needed for other stuff that YaST needs to run during the firstboot.
Probably yast can even do this without an additional service. Steffen, is there something like an non-interactive yast2-firstboot or some functionality like the autoyast init-scripts that could be used to run custom commands at first system boot? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c22
--- Comment #22 from Lukas Ocilka
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c23
--- Comment #23 from Stefan Dirsch
(In reply to Stefan Dirsch from comment #19)
No, everything would be in an inconsistent state again!
could you refresh my memory ? ;)
I can't, since the details are just too long gao. But one thing I can remember. Writing /etc/vconsole.conf directly did not work and always resulted in a possibly wrong layout. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c24
Steffen Winterfeldt
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c25
--- Comment #25 from Franck Bui
Why would writing vconsole.conf be a problem? There's no localed running, so no confusion. Or not?
That was my point: if it's only done during the installation where no systemd is running, that might be ok. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c26
--- Comment #26 from Lukas Ocilka
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c27
--- Comment #27 from Stefan Dirsch
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c28
--- Comment #28 from Steffen Winterfeldt
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c29
--- Comment #29 from Thomas Blume
OK, so we have basically two options:
A. In the installer, write /etc/vconsole.conf directly, as there's no systemd running and thus we can't use it.
B. Create yet another one-off systemd service (script) that would be called during the system boot and adjust all settings that can't be set during the initial installation. The service and the script would not be part of YaST but part of some separate package as no "YaST on the system" is a required feature. Moreover, it would have to be called before YaST.Firstboot, which actually allows adjusting the system via YaST UI and also before YaST.Second-Stage, which is optional for AutoYaST (and which can also change the system)
Both options are somewhere between "the solution" and "a hack"...
C. Extend systemd-firstboot to cover kbd settings. The systemd-firstboot manpage states: --> Note that this tool operates directly on the file system and does not involve any running system services, unlike localectl(1), timedatectl(1) or hostnamectl(1). This allows systemd-firstboot to operate on mounted but not booted disk images and in early boot. --< systemd-firstboot is available in the installation system, so this is the tool we would need. Still, implementation of kbd setting support might take a while and upstream acceptance is not guaranteed. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c30
--- Comment #30 from Lukas Ocilka
From YaST POV, option C is the cleanest one.
-- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c31
--- Comment #31 from Franck Bui
systemd-firstboot is available in the installation system, so this is the tool we would need. Still, implementation of kbd setting support might take a while and upstream acceptance is not guaranteed.
Indeed that might be worth a try... Thomas could you open an issue (or a RFE) against upstream for requesting this new feature so we can hopefully see quickly if that would be the way to go ? If we get a positive answer then we'll implement that. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c32
--- Comment #32 from Thomas Blume
Thomas could you open an issue (or a RFE) against upstream for requesting this new feature so we can hopefully see quickly if that would be the way to go ?
If we get a positive answer then we'll implement that.
Ok, done: https://github.com/systemd/systemd/issues/6346 -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c33
--- Comment #33 from Kazufumi Watanabe
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c34
Steffen Winterfeldt
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c35
--- Comment #35 from Kazufumi Watanabe
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c36
--- Comment #36 from P. Otato
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c42
Sergio Lindo Mansilla
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c43
--- Comment #43 from Sergio Lindo Mansilla
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c45
Knut Alejandro Anderssen González
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c49
Thomas Blume
There is a new comment at that issue: poettering commented 12 days ago sure, makes sense to add!
And I guess these are the changes (master might not be the correct branch): https://github.com/systemd/systemd/compare/master...tblume:add-keymap-setup- to-systemd-firstboot?expand=1
When can we expect this to be finished?
It's finished, I just wanted to test a bit more but I plan a pull request today.
I guess YaST depends on your implementation now? Thanks a lot! BTW :)
Yes, yast depends on it. I have some testpackages at: https://download.opensuse.org/repositories/home:/tsaupe:/branches:/openSUSE:... If you want to start the work on YaST you can use them. I still might change the code a bit if upstream requests some changes, but the functionality should stay the same. Just consult: /usr/bin/systemd-firstboot --help about how to set the keymap. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
Frederic Crozat
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c51
Lukas Ocilka
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c52
Thomas Blume
Thomas, we need the package in SLE 15, otherwise we can't implement our side. What's the status?
I don't see these changes there, but maybe I'm just looking at a wrong place...
I'm waiting for a reply in the upstream submission at: https://github.com/systemd/systemd/pull/7035 As soon as this is done, we can add it officially to the SLE-15 packages. But we need it in the installation system, so we'll have to wait for new installation media afterwards. Meanwhile I could build test packages for SLE-15 and you could add them to your SLe-15 installation system via a DUD. Would this help on your side? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c53
--- Comment #53 from Lukas Ocilka
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c54
--- Comment #54 from Thomas Blume
DUD is OK for testing, but Release Managers want that for Beta1. IMO we need a Plan B -> patch for systemd package. We'll plan for the YaST side of the implementation in less than 30 minutes, but we still depend on the new systemd to be there.
We can implement it in in way that it's gonna silently fail... till the new package is in inst-sys.
We agreed amongst the systemd maintainers to do a submit to SLE-15 despite the patch hasn't been approved upstream yet. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c55
--- Comment #55 from Thomas Blume
DUD is OK for testing, but Release Managers want that for Beta1. IMO we need a Plan B -> patch for systemd package. We'll plan for the YaST side of the implementation in less than 30 minutes, but we still depend on the new systemd to be there.
We can implement it in in way that it's gonna silently fail... till the new package is in inst-sys.
With the patched systemd, the following works in the installation system: --> 0:g179:~ # systemd-firstboot --root /mnt --keymap=de-latin1-nodeadkeys Found container virtualization none. /mnt/etc/vconsole.conf written. 0:g179:~ # cat /mnt/etc/vconsole.conf KEYMAP=de-latin1-nodeadkeys --< -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c56
--- Comment #56 from Stefan Dirsch
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c57
--- Comment #57 from Thomas Blume
Nice! And which content do we have in
/etc/X11/xorg.conf.d/00-keyboard.conf
afterwards?
I'm afraid that can't be done in the installation system. The command for conversion to X11 keymaps is done via dbus calls to localed. We know that this doesn't work in the installer. Furthermore, not every machine installs the Xserver. IMHO, that part should be done at first system boot by using the data from vsconsole.conf. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c58
--- Comment #58 from Steffen Winterfeldt
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c60
--- Comment #60 from Steffen Winterfeldt
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c61
--- Comment #61 from Thomas Blume
(In reply to Steffen Winterfeldt from comment #58)
Do I see this correctly that we spent months and even blocked beta1 waiting for something roughly equivalent of
echo KEYMAP=de-latin1-nodeadkeys > /mnt/etc/vconsole.conf
???
see bug#1023774 there is complain that writing it directly is not always correct if done by yast and should be done by localectl. At least we have now responsible sources, who ensure it is written correctly.
Yes, it does some sanity checks, for example: --> 0:g179:~ # systemd-firstboot --keymap=. Keymap . is not valid. 0:g179:~ # systemd-firstboot --keymap=/bla Keymap /bla is not valid. --< But please be aware that it doesn't check for the existence of the keymap file, e.g.: --> 0:g179:~ # systemd-firstboot --keymap=blafasel /etc/vconsole.conf written. 0:g179:~ # cat /etc/vconsole.conf KEYMAP=blafasel --< -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c62
--- Comment #62 from Thomas Blume
See comment 56 and comment 57. The whole point here is that you should not write it directly as using systemd provides the additional benefit of syncing the various keymap definitions in the system. If this second part is not done, what's left?
This second part should be done via a service at initial system boot. I don't see any chance to do this without systemd running. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c63
--- Comment #63 from Steffen Winterfeldt
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c64
--- Comment #64 from Josef Reidinger
When I tested this back then (comment 28) the x11 keymap config was not created on system startup. Does this work now, provided we have set /etc/vconsole.conf?
Well, I expect not, but I hope X should on first start set it from vconsole.conf ( not sure if it is doing it now, but it should start, as yast does not have second stage to do it ). -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c65
--- Comment #65 from Stefan Dirsch
(In reply to Steffen Winterfeldt from comment #63)
When I tested this back then (comment 28) the x11 keymap config was not created on system startup. Does this work now, provided we have set /etc/vconsole.conf?
Well, I expect not, but I hope X should on first start set it from vconsole.conf ( not sure if it is doing it now, but it should start, as yast does not have second stage to do it ).
X does read /etc/X11/xorg.conf.d/00-keyboard.conf. It does not write it! One needs to use localectl now for any keyboard configuration now in order to have a consistent state in Linux console and X11 keyboard setting and content of /etc/vconsole.conf. And running localectl in the installed system again with the same value, which has already been set in /etc/vconsole.conf during installation, will not create the X11 keybaord config file either. (localectl will think, it's already set, so nothing to do!). -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c66
--- Comment #66 from Stefan Dirsch
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c67
Stefan Behlert
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c68
--- Comment #68 from Thomas Blume
X does read /etc/X11/xorg.conf.d/00-keyboard.conf. It does not write it! One needs to use localectl now for any keyboard configuration now in order to have a consistent state in Linux console and X11 keyboard setting and content of /etc/vconsole.conf.
What was writing /etc/X11/xorg.conf.d/00-keyboard.conf before systemd?
And running localectl in the installed system again with the same value, which has already been set in /etc/vconsole.conf during installation, will not create the X11 keybaord config file either. (localectl will think, it's already set, so nothing to do!).
That seems to be fixed in SLES15: --> g179:~ # cat /etc/os-release NAME="SLES" VERSION="15" VERSION_ID="15" PRETTY_NAME="SUSE Linux Enterprise Server 15" ID="sles" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:suse:sles:15" g179:~ # g179:~ # cat /etc/X11/xorg.conf.d/00-keyboard.conf cat: /etc/X11/xorg.conf.d/00-keyboard.conf: No such file or directory g179:~ # g179:~ # g179:~ # cat /etc/vconsole.conf KEYMAP=de-latin1-nodeadkeys g179:~ # g179:~ # man localectl g179:~ # localectl set-x11-keymap de-latin1-nodeadkeys g179:~ # g179:~ # cat /etc/X11/xorg.conf.d/00-keyboard.conf # Written by systemd-localed(8), read by systemd-localed and Xorg. It's # probably wise not to edit this file manually. Use localectl(1) to # instruct systemd-localed to update it. Section "InputClass" Identifier "system-keyboard" MatchIsKeyboard "on" Option "XkbLayout" "de-latin1-nodeadkeys" EndSection g179:~ # --> -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
buhtz buhtz
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c69
--- Comment #69 from Stefan Dirsch
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c70
--- Comment #70 from Stefan Dirsch
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c73
--- Comment #73 from Stefan Dirsch
But anyway, feel free to give it a try. Built packages are in
obs://X11:XOrg/xdm
Meanwhile I gave it a try myself on Tumbleweed with xdm. Appears to work. (I've created manually /etc/vconsole.conf and then ran rcxdm restart. X11 keyboard layout has been created accordingly.) Unfortunately I can't test with other DMs like gdm, since they haven't been adjusted let alone checked in yet. :-( See https://build.opensuse.org/request/show/534162 for more details. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
Stefan Dirsch
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c75
--- Comment #75 from Frederic Crozat
(In reply to Steffen Winterfeldt from comment #60)
See comment 56 and comment 57. The whole point here is that you should not write it directly as using systemd provides the additional benefit of syncing the various keymap definitions in the system. If this second part is not done, what's left?
This second part should be done via a service at initial system boot. I don't see any chance to do this without systemd running.
If we don't do it as install time, we are loosing information from the install. Currently, it tries to call localectl set-x11-keymap with all parameters (layout model variant and options) Just relying on calling at runtime localectl set-keymap will just set the "default" computed by the kbd-model-map, which is not enough. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c76
--- Comment #76 from Thomas Blume
This second part should be done via a service at initial system boot. I don't see any chance to do this without systemd running.
If we don't do it as install time, we are loosing information from the install. Currently, it tries to call localectl set-x11-keymap with all parameters (layout model variant and options)
Just relying on calling at runtime localectl set-keymap will just set the "default" computed by the kbd-model-map, which is not enough.
Hm, I'm not really sure what information we loose. We have the keymap in /etc/vconsole.conf, that is written at install time via systemd-firstboot. We only need to extract the keymap from there at runtime and set the x11 keymap accordingly. In order to set the x11 keymap, we can use: localectl set-x11-keymap $KEYMAP where $KEYMAP ist the one extracted from vconsole.conf. So, what is missing? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c77
--- Comment #77 from Stefan Dirsch
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c79
--- Comment #79 from Stefan Dirsch
If we don't do it as install time, we are loosing information from the install. Currently, it tries to call localectl set-x11-keymap with all parameters (layout model variant and options)
Just relying on calling at runtime localectl set-keymap will just set the "default" computed by the kbd-model-map, which is not enough.
Frederic, console keyboard mappings are now generated from the X11 keyboard layouts with layout, mode, variant and options. Therefore they now have strange names like "de-latin1-nodeadkeys". This name is used in /etc/vconsole.conf. Therefore one just needs to run localectl set-keymap <this-possibly-strange-name> It then gets written to /etc/vconsole.conf, Linux console keyboard is set and X11 keybaord config snippet written. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c80
--- Comment #80 from Frederic Crozat
(In reply to Frederic Crozat from comment #75)
If we don't do it as install time, we are loosing information from the install. Currently, it tries to call localectl set-x11-keymap with all parameters (layout model variant and options)
Just relying on calling at runtime localectl set-keymap will just set the "default" computed by the kbd-model-map, which is not enough.
Frederic, console keyboard mappings are now generated from the X11 keyboard layouts with layout, mode, variant and options. Therefore they now have strange names like "de-latin1-nodeadkeys". This name is used in /etc/vconsole.conf. Therefore one just needs to run
localectl set-keymap <this-possibly-strange-name>
It then gets written to /etc/vconsole.conf, Linux console keyboard is set and X11 keybaord config snippet written.
Looks at yast2 code (yast-country to be precise), it is still calling: "/usr/bin/localectl --no-convert set-x11-keymap #{args.join(' ')}" and will try to set the various options for X11 (not sure where it will get the data from). If we don't expose those options in YaST nor the installer anymore, that's fine, but yast2-country might still need some cleanup -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c81
Ladislav Slezák
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c84
--- Comment #84 from Ladislav Slezák
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c85
--- Comment #85 from Stefan Dirsch
Um, no idea, that was used already before.
And for the new system we need to change it.
Anyway that part is relevant only for the installed system, during installation Stage.initial == true. Let's focus on the installation here, at least for now...
Sure we can focus on the installation system, but we should also fix it for the installed system, right? Why not now? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c86
--- Comment #86 from Ladislav Slezák
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c87
--- Comment #87 from Ladislav Slezák
Sure we can focus on the installation system, but we should also fix it for the installed system, right? Why not now?
This is Beta1 blocker and my impression is that the installation part is what blocks the Beta1 release, not installed system. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c88
--- Comment #88 from Ladislav Slezák
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c89
Thomas Blume
The YaST fix (https://github.com/yast/yast-country/pull/145) has been merged, submitted in yast2-country-4.0.3 in https://build.suse.de/request/show/144417
Unfortunately the problem was still not fix in my manual test. The /etc/vconsole.conf file was completely missing.
I have used Build174.3 from http://download.suse.de/ibs/SUSE:/SLE-15:/GA:/Staging:/Y/images/iso/. Maybe it was not recent enough, there is some newer already.
However, the YaST part worked as expected, the YaST log contains this line:
modules/Keyboard.rb:895 Making console keyboard persistent: /usr/bin/systemd-firstboot --root /mnt --keymap 'cz-lat2-us'
Which indicated that the correct command was call, also there is no error reported in the log so it succeeded. So for me the YaST side looks OK.
Thomas or Stefan, please check it when the fixed YaST package is accepted.
I did a try with this image and cannot find the above call to systemd-firstboot in the yast logs. I which logfile have you seen it? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c91
Ladislav Slezák
I have used Build174.3 from http://download.suse.de/ibs/SUSE:/SLE-15:/GA:/Staging:/Y/images/iso/. Maybe it was not recent enough, there is some newer already.
I did a try with this image and cannot find the above call to systemd-firstboot in the yast logs. I which logfile have you seen it?
I used that build + manually patched Keyboard.rb YaST file. It wont work in the original build. The yast2-country-4.0.3 has been accepted to Staging Y, you just have to wait until the ISO is rebuilt. You can verify the package version by running "grep yast2-country /.packages.root" in the running inst-sys. (Either switch to another console or boot with "start_shell=1".) -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c92
Thomas Blume
You can verify the package version by running "grep yast2-country /.packages.root" in the running inst-sys. (Either switch to another console or boot with "start_shell=1".)
I've tried with the latest image from Staging D and could reproduce the
behaviour. It is pretty weird, the yast logs show:
-->
2017-10-23 11:31:18 <1> kvm134(3795) [Ruby] modules/Keyboard.rb:895 Making
console keyboard persistent: /usr/bin/systemd-firstboot --root /mnt --keymap
'de-latin1-nodeadkeys'
2017-10-23 11:31:18 <1> kvm134(3795) [Ruby] modules/Keyboard.rb:948 Skipping
active key
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c93
Ladislav Slezák
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c94
--- Comment #94 from Ladislav Slezák
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c95
--- Comment #95 from Thomas Blume
1. Boot with "startshell=1 netsetup=dhcp" 2. When the shell is active replace the Keyboard.rb file: a) copy this file to /tmp: https://github.com/yast/yast-country/blob/kbd_debug/keyboard/src/modules/ Keyboard.rb b) mount --bind /tmp/Keyboard.rb /usr/share/YaST2/modules/Keyboard.rb 3. Start the installation with "yast" 4. YaST displays a Popup after running the "systemd-firstboot" command with the result, keep the popup open 5. For debugging switch to another console (e.g. Ctrl+F2) or use Ctrl+Shift+Alt+X in YaST to open an xterm window (GUI only)
Thanks, and here we have the problem: --> 1:kvm134:~ # find /mnt/ -name vconsole.conf /mnt/mnt/etc/vconsole.conf --< The config file is there, only in the wrong directory. Seems that systemd-firstboot sees a different path for system root when called via the YaST module. The following change seems to work: --> --- Keyboard.rb 2017-10-23 14:00:00.491466812 +0200 +++ Keyboard.rb.mod 2017-10-23 14:35:32.249892754 +0200 @@ -889,7 +889,7 @@ chomped_keymap = @keymap.chomp(".map.gz") cmd = if Stage.initial - "/usr/bin/systemd-firstboot --root #{Installation.destdir} --keymap '#{chomped_keymap}'" + "/usr/bin/systemd-firstboot --keymap '#{chomped_keymap}'" else "/usr/bin/localectl --no-convert set-keymap #{chomped_keymap}" end --> 1:kvm134:~ # find /mnt/ -name vconsole.conf /mnt/etc/vconsole.conf 1:kvm134:~ # Can you give it a try? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c96
--- Comment #96 from Thomas Blume
BTW I'm getting "unrecognized option --keymap" error with build 313.1, looks like the systemd patch is not present in the latest build yet.
I've used this one from IBS, which had the patches applied: SLE-15-Installer-DVD-x86_64-Build170.1-Media1.iso -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c98
--- Comment #98 from Ladislav Slezák
The config file is there, only in the wrong directory. Seems that systemd-firstboot sees a different path for system root when called via the YaST module. The following change seems to work:
--> --- Keyboard.rb 2017-10-23 14:00:00.491466812 +0200 +++ Keyboard.rb.mod 2017-10-23 14:35:32.249892754 +0200 @@ -889,7 +889,7 @@
chomped_keymap = @keymap.chomp(".map.gz") cmd = if Stage.initial - "/usr/bin/systemd-firstboot --root #{Installation.destdir} --keymap '#{chomped_keymap}'" + "/usr/bin/systemd-firstboot --keymap '#{chomped_keymap}'"
Aaaarggh, the cmd is already executed in /mnt chroot, no need for the "--root" option... :-O But it executes the command in the *installed* system. Can we assume that "/usr/bin/systemd-firstboot" is always available? Even in the very minimal system? (Otherwise we should call it from inst-sys with the --root option.) -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c99
--- Comment #99 from Frederic Crozat
(In reply to Thomas Blume from comment #95)
The config file is there, only in the wrong directory. Seems that systemd-firstboot sees a different path for system root when called via the YaST module. The following change seems to work:
--> --- Keyboard.rb 2017-10-23 14:00:00.491466812 +0200 +++ Keyboard.rb.mod 2017-10-23 14:35:32.249892754 +0200 @@ -889,7 +889,7 @@
chomped_keymap = @keymap.chomp(".map.gz") cmd = if Stage.initial - "/usr/bin/systemd-firstboot --root #{Installation.destdir} --keymap '#{chomped_keymap}'" + "/usr/bin/systemd-firstboot --keymap '#{chomped_keymap}'"
Aaaarggh, the cmd is already executed in /mnt chroot, no need for the "--root" option... :-O
But it executes the command in the *installed* system. Can we assume that "/usr/bin/systemd-firstboot" is always available? Even in the very minimal system? (Otherwise we should call it from inst-sys with the --root option.)
it is part of systemd package, so yes, it will be always there.. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c100
--- Comment #100 from Ladislav Slezák
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c101
--- Comment #101 from Ladislav Slezák
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c104
Ladislav Slezák
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c105
--- Comment #105 from Ladislav Slezák
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c106
--- Comment #106 from Frederic Crozat
I have tested Build321.4 and the /etc/vconsole.conf file was created properly and the keyboard worked as expected in the console.
Closing as FIXED.
(Please test also the X installation, I did only minimal text mode test.)
X installation works fine too, keymap is properly configured -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c107
--- Comment #107 from Stefan Behlert
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c108
--- Comment #108 from Stefan Dirsch
(In reply to Martin Vidner from comment #82)
FYI, the yast2-country part is (still not submitted) https://github.com/yast/yast-country/pull/145
May I ask, why you're using --no-convert localectl option. It is my understanding, that it won't create X11 keyboard configuration or in a wrong way.
(In reply to Ladislav Slezák from comment #84)
Um, no idea, that was used already before. Anyway that part is relevant only for the installed system, during installation Stage.initial == true. Let's focus on the installation here, at least for now...
So this issue has been successfully ignored, right? It basically means that keyboard layout changes via YaST after installation will only affect Linux console, but not X11. So we need an additional bug report for this? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c109
--- Comment #109 from Sergio Lindo Mansilla
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c110
--- Comment #110 from Stefan Dirsch
http://bugzilla.suse.com/show_bug.cgi?id=1046436
Ivan Tomica
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c111
--- Comment #111 from Frederic Crozat
I cannot confirm this issue would have been fixed with the latest image. I've used
/mounts/dist/install/SLE-15-Installer-TEST/SLE-15-Installer-DVD-x86_64- Build321.5-Media1.iso
I've installed SLED with all available modules enabled. Registration key from
https://wiki.microfocus.net/index.php?title=YAST/reg_codes ("real" SCC)
So, you didn't test the latest build. You tested Alpha5 modules, on top of up-to-date SLE15 Installer.
I'm not sure, why this bug has been closed as fixed. Seriously.
Because people really tested the proper builds. Please either use proxy SCC or the additional "ALL Packages" iso. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c112
--- Comment #112 from Stefan Dirsch
(In reply to Stefan Dirsch from comment #110)
I cannot confirm this issue would have been fixed with the latest image. I've used
/mounts/dist/install/SLE-15-Installer-TEST/SLE-15-Installer-DVD-x86_64- Build321.5-Media1.iso
I've installed SLED with all available modules enabled. Registration key from
https://wiki.microfocus.net/index.php?title=YAST/reg_codes ("real" SCC)
So, you didn't test the latest build. You tested Alpha5 modules, on top of up-to-date SLE15 Installer.
Aha. The installation procedure is just nowhere explained! sle15 is such a mess!
I'm not sure, why this bug has been closed as fixed. Seriously.
Because people really tested the proper builds.
Please either use proxy SCC
Ok. Then this information is well/perfectly hidden!
or the additional "ALL Packages" iso.
Which I can find where ??? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c113
--- Comment #113 from Frederic Crozat
(In reply to Frederic Crozat from comment #111)
(In reply to Stefan Dirsch from comment #110)
I cannot confirm this issue would have been fixed with the latest image. I've used
/mounts/dist/install/SLE-15-Installer-TEST/SLE-15-Installer-DVD-x86_64- Build321.5-Media1.iso
I've installed SLED with all available modules enabled. Registration key from
https://wiki.microfocus.net/index.php?title=YAST/reg_codes ("real" SCC)
So, you didn't test the latest build. You tested Alpha5 modules, on top of up-to-date SLE15 Installer.
Aha. The installation procedure is just nowhere explained! sle15 is such a mess!
This is explained in every milestone release email for SLE15. It was also explained during the SLE15 lunch'n'learn which took place in Nuremberg some weeks ago.
I'm not sure, why this bug has been closed as fixed. Seriously.
Because people really tested the proper builds.
Please either use proxy SCC
Ok. Then this information is well/perfectly hidden!
or the additional "ALL Packages" iso.
Which I can find where ???
Please check Stefan Behlert email on devel which was sent minutes ago. It contains everything. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c115
--- Comment #115 from Stefan Behlert
(In reply to Stefan Dirsch from comment #83)
(In reply to Martin Vidner from comment #82)
FYI, the yast2-country part is (still not submitted) https://github.com/yast/yast-country/pull/145
May I ask, why you're using --no-convert localectl option. It is my understanding, that it won't create X11 keyboard configuration or in a wrong way.
(In reply to Ladislav Slezák from comment #84)
Um, no idea, that was used already before. Anyway that part is relevant only for the installed system, during installation Stage.initial == true. Let's focus on the installation here, at least for now...
So this issue has been successfully ignored, right? It basically means that keyboard layout changes via YaST after installation will only affect Linux console, but not X11. So we need an additional bug report for this?
Yes, let's track this in a new bug, this one is already too full of comments. And the installation issue is solved, while this is post-installation. Thanks. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c116
--- Comment #116 from Stefan Dirsch
So, you didn't test the latest build. You tested Alpha5 modules, on top of up-to-date SLE15 Installer.
Aha. The installation procedure is just nowhere explained! sle15 is such a mess!
This is explained in every milestone release email for SLE15.
"For testing SLE 15 with SCC you need a beta registration code." That was it. No information how to get thes keys, let alone SCC proxies ... I was happy that someone once told me about this webpage https://wiki.microfocus.net/index.php?title=YAST/reg_codes
It was also explained during the SLE15 lunch'n'learn which took place in Nuremberg some weeks ago.
I missed that one, since I was supposed to go to SUSE Labs conference. :-(
Please check Stefan Behlert email on devel which was sent minutes ago. It contains everything.
Unfortunately I do not read devel mails each minute. Ah. The boot option for proxy SCC now suddenly changed from "SCC_URL" to "regurl". That explains why my further testing didn't work either ... -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c117
--- Comment #117 from Stefan Dirsch
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c118
--- Comment #118 from Stefan Dirsch
Ok. With repositories of SCC proxy xdm package is up-to-date and X11 keyboard configuration is correct. I'm going to report a separate bug for the required localectl usage change in YasT2.
boo#1065264 -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c119
Oliver Kurz
Also verified from QA during manual testing of build 321.5.
Can we marked this ticket as verified fixed? Or is there yet work to do about it?
Sergio. This bug was initially reported for openSUSE Tumbleweed. Could you please verify TW and then set the bug to VERIFIED FIXED? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c120
Sergio Lindo Mansilla
(In reply to Sergio Lindo Mansilla from comment #109)
Also verified from QA during manual testing of build 321.5.
Can we marked this ticket as verified fixed? Or is there yet work to do about it?
Sergio. This bug was initially reported for openSUSE Tumbleweed. Could you please verify TW and then set the bug to VERIFIED FIXED?
I have tried with openSUSE-20171028-i586-x86_64-Build0002 and the issue still happens on tumbleweed. Reopen? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c121
--- Comment #121 from Franck Bui
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c125
Stefan Hundhammer
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c129
--- Comment #129 from Stefan Dirsch
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c130
--- Comment #130 from Stefan Dirsch
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c131
Stefan Dirsch
http://bugzilla.suse.com/show_bug.cgi?id=1046436
http://bugzilla.suse.com/show_bug.cgi?id=1046436#c132
--- Comment #132 from Stefan Dirsch
Ah. There is already such an ibus bug (basically closed as INVALID, and apparently ibus won't be installed by default any longer). So closing this as fixed again.
boo#1073215 -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com