Lock Screen missing keyboard changer

I don’t use the Qwerty layout generally for English I use Dvorak, now sometimes I also need to use en-gb (certain symbols not available on en-us layouts) and I also need to use fcitx layouts such as Wubi.

When I login, the login screen is en-gb and cannot be changed (seemingly) but at least there’s an indicator. If I lock the screen… good luck. There is no indicator and it seems to choose a random keyboard layout, sometimes it’s Dvorak, sometimes it’s en-gb and on a couple of occasions it has been en-us.

So questions

  1. How do I make the keyboard layout indicator show on the lock screen.
  2. How do I set the default keyboard layout on
    a. The lock screen
    b. The login screen
    c. TTY

Any assistance appreciated, it’s finally driving me cuckoo.

Go to Settings > Keyboard > Layouts > Configure and Add a language and layout of your choice. Make sure the switching policy is set to Global to see it in the TTY too. If that doesn’t follow in the TTY then search your keymap, replacing <search_term> with the code for your language, country, or layout:

localectl list-keymaps | grep -i <search_term>

To make it persistent use:

localectl set-keymap  keymap

More info:

https://wiki.archlinux.org/title/Linux_console/Keyboard_configuration#Persistent_configuration

There appears to be no “switching policy” or any ability to switch to any kind of global policy. I don’t have a problem with them appearing, they’re always there… it’s just the login/lock screens where things get screwy.

Please you show me a screenshot of what I’m looking for specifically? I did look in the advanced options, but aside from key combinations there was nothing else that seemed relevant.

I went to System Settings > Keyboard > Layouts. There is nothing relevant in Manjaro Manager Settings.

Hi. It seems that Manjaro Cinnamon edition uses lightdm with slick-greeter. Unfortunately it has a bug that fits your description

I think you still can set default keyboard layout in /etc/default/keyboard file. Though you can’t change layout on the login screen, the first option listed in XKBLAYOUT= line is used.

Probably the same bug with a different quirk, so that the indicator does not work, but you can change layout with keyboard.

Maybe you can try to use default lightdm greeter lightdm-gtk-greeter and see if it works better. For additional information see:
https://wiki.archlinux.org/title/LightDM

1 Like

Unfortunately it doesn’t describe how to change from one greeter to the other. I’ve successfully edited lightdm.conf and rebooted, but it still launches with the same slick greeter. On the initial login I can see the keyboard but I can’t change it… and on the lock screen, I can’t tell what the language is at all (and it seems to set the keyboard language at random).

Does this mean I have to rebuild the machine and set it to my desired keyboard config from the get go?

See LightDM#Greeter

  • install lightdm-gtk-greeter
  • in /etc/lightdm/lightdm.conf find section [Seat:*] and edit line beginning with greeter-session= so that it is greeter-session=lightdm-gtk-greeter

You can also install lightdm-gtk-greeter-settings and use it to change the greeter theme.

See also: LightDM#Multiple_keyboard_layouts_in_lightdm-gtk-greeter

Yeah that’s what I used. Several reboots later the keyboard-lang started to appear on the lock screen. Weirdly it didn’t do this on the first, second or third reboots, hence the post.

Sadly this does nothing to the login screen.

Many thanks thus far, we are making progress.

1 Like

I don’t use Cinnamon, so I don’t know how to fix its lock screen. Maybe some Cinnamon users would help.

PS. I guess the lock screen is cinnamon-screensaver. There are some bugs related to keyboard layout on their bugtracker, but not the same as yours.

PPS. Maybe this discussion would help: Lock screen switches Keyboard layout · Issue #7453 · linuxmint/cinnamon · GitHub