keyboard layout is reset to default on reboot

hi,

I have installed openSUSE 13.2 an am using english as dialogue language but german (switzerland) as keyboard layout. After configuring and first login the keyboard layout is back to english. I then use yast to reconfigure it again to german (swiss) and can work. After shooting down the system the keyboard layout is back to english. How can I make sure it stays as configured?

Many thanks for your help.
golpe

In YaST you set the layout of your hardware; if you have an English layout, that is what you set in YaST. If you want to type using a different layout, in KDE you use System Settings(Configure desktop)>Input methods>Keyboard>Layouts to set the layout you want to use.

My experience was that GNOME ignores whatever is set in yast, and I had to configure keyboards explicitly using GNOME tools.

I ran into this too…
my locale: polish
my keyboard: polish (programmer)
desktop: xfce
opensuse version: 13.2 64bit
clean install from the dvd installer

This (setting the keymap in yast) always worked in earlier releases, so this is a bug.

As a workaround I set the keylayout in xfce settings (and it’s kept ok after a reboot), but this needs to be fixed.

On 2014-12-14 14:36, CyberKiller1 wrote:
>
> I ran into this too…
> my locale: polish
> my keyboard: polish (programmer)
> desktop: xfce
> opensuse version: 13.2 64bit
> clean install from the dvd installer
>
> This (setting the keymap in yast) always worked in earlier releases, so
> this is a bug.
>
> As a workaround I set the keylayout in xfce settings (and it’s kept ok
> after a reboot), but this needs to be fixed.

I have a 13.2 test system, under vmplayer, where I set, during initial
install, English (USA) as language, and Spanish as keyboard layout, and
it worked. I have tried xfce and mate. I did not do anything to setup
language or keyboard in the desktop.

I can not try polish, and I don’t know if it being a virtual install
affects these things or not (the actual keyboard is in the host).


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)

I just fully reproduced the issue in virtualbox.

my use case:

  1. boot the machine with the dvd installer
  2. choose polish as the language in the dvd boot screen, then select install, the locale and keyboard are automatically selected as polish
  3. install the system (I used xfce desktop, had root on btrfs and on a different machine in ext4, so the filesystem doesn’t affect this)
  4. after install, login, open a text editor, try writing any polish specific characters e.g. ąśćół (written as altgr+the corresponding letter, e.g. altgr+a for ą)
  • see that this doesn’t work
  1. open yast, keyboard layouts
  • see that the polish layout is selected
  1. select a different one (I chose portugese as it’s next on the list), confirm
  • note that applying the layout takes quite a long time
  1. open yast keyboard layouts again, choose polish, confirm
  • see in the text editor that the polish characters work correctly
  1. shutdown the system & reboot the machine, login again, open a text editor and try to write some polish characters
  • see that the polish characters don’t work again
  1. repeat steps 5-8 to your heart’s content :slight_smile:

@golpe: is this similar to your case?

On 2014-12-14 18:16, CyberKiller1 wrote:
>
> I just fully reproduced the issue in virtualbox.
>
> my use case:
> 1. boot the machine with the dvd installer
> 2. choose polish as the language in the dvd boot screen, then select
> install, the locale and keyboard are automatically selected as polish
> 3. install the system (I used xfce desktop, had root on btrfs and on a
> different machine in ext4, so the filesystem doesn’t affect this)
> 4. after install, login, open a text editor, try writing any polish
> specific characters e.g. ąśćół (written as altgr+the corresponding
> letter, e.g. altgr+a for ą)
> - see that this doesn’t work
> 5. open yast, keyboard layouts
> - see that the polish layout is selected
> 6. select a different one (I chose portugese as it’s next on the list),
> confirm
> - note that applying the layout takes quite a long time
> 7. open yast keyboard layouts again, choose polish, confirm
> - see in the text editor that the polish characters work correctly
> 8. shutdown the system & reboot the machine, login again, open a text
> editor and try to write some polish characters
> - see that the polish characters don’t work again
> 9. repeat steps 5-8 to your heart’s content :slight_smile:

I understand.

Well, my guess is that at some point during boot there should be a
process (init service) that configures the correct keyboard, but it is
not running. YaST runs it manually.

So the first issue is to find it.

In 13.1 I see kbd.service. But:

> lrwxrwxrwx 1 root root 9 Jun 25 04:00 /usr/lib/systemd/system/kbd.service -> /dev/null

So it is not that one.

Grepping for the word “keyb” I find systemd-udevd, systemd-localed, and
systemd-vconsole-setup. But they are binaries, so I can’t have a look…

:-?


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)

Hi,

many thanks to all replies. Great help!. It works now. I did as someone described:

As a workaround I set the keylayout in xfce settings (and it’s kept ok after a reboot), but this needs to be fixed.

but the YaST settings got always lost.

Regards

Remember that Linux is multiuser thus you set your personal preferences in the enviroment you work in some other user may have other ideas. Yast sets the system not the user settings though it may change things for the user for the current session. The user will the next time he logs get what ever is set in his/her environment not what the system is set to. A new user will default to the system settings.

So this is not a bug it is a feature of a true multiuser OS.

.

On new install every user is new user.

Yep

So I thought the keyboard change happened after the install. If the language is different then the settings useed at install then yes there is a bug in that the Desktop is not picking up the system settings. xfce does not get the attention that KDE or Gnome do so it is worth reporting.

You can test the theory by adding a new user and see what keyboard they end up with

Did that too, a new user get the English keyboard.

As for…

Remember that Linux is multiuser thus you set your personal preferences in the enviroment you work

Come on, it’a a bug, there’s no point denying it. This feature - setting a global system wide key layout that is used by default by all users desktops (unless they select something different themselves) - worked ok since nearly forever.

I use KDE on my main machine, but I got several other machines (mine and the users that I support) where KDE wouldn’t run too good, so xfce is the way to go there. I guess I’m going to have to do some testing during the RC period before each release with the xfce desktops, cause this is the second release where xfce got some (not necessarily breaking) annoying bugs.

I thought the change from English was done after the install. And you are right it is a bug if a system is set correct and the desktop is not. So report it or it won’t get fixed. To my knowledge it works for other Desktops. So an XFCE problem.

I already said that I observed similar effect in GNOME.

On 2014-12-16 20:06, arvidjaar wrote:
>
> gogalthorp;2683390 Wrote:
>> To my knowledge it works for other Desktops. So an XFCE problem.
>
> I already said that I observed similar effect in GNOME.

Both use basically the same method, and till 13.1 it worked. At least as
far as I know.

Till 13.1 xfce and gnome just use the system provided localization. Only
if you define a different settings they are used instead. Guessing, what
is happening is that xfce/gnome get a different, personalized setting,
aside from the system settings.


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)

Added this info here: https://bugzilla.opensuse.org/show_bug.cgi?id=897803

Try this

wget "https://bugzilla.opensuse.org/attachment.cgi?id=613408" -O /tmp/keytable
su -c "mv /etc/X11/xdm/keytable /etc/X11/xdm/keytable.bac~ ; mv /tmp/keytable /etc/X11/xdm/keytable"

Later you can uncomment lines 19 and 47 to keep current configuration, it if already exist

and

sudo chmod +x /etc/X11/xdm/keytable

Thanks, but I already got a workaround, now I’m waiting for the proper fix.