Comments on How to change the keyboard layout with Gnome and Arch linux?
Parent
How to change the keyboard layout with Gnome and Arch linux?
My goal is to use a french AZERTY keyboard layout with Arch linux and Gnome desktop environment but use US English as "OS language".
Note that I am also open to a "working" solution on any other desktop environment than Gnome as long as I can run a GUI web browser with it.
Attempts
During the install I just done:
loadkeys fr-latin1
And everything was fine (i.e. the keyboard layout instantaneously changed correctly).
But after the install, during first boot of the OS, I noted that the keyboard was set to "QWERTY" when I tried to log in my user session.
I tried a lot things, like the below commands, but it seems that "nothing" append:
loadkeys fr-latin1
setxkbmap fr
localectl set-x11-keymap fr
localectl set-keymap fr-latin1
The content of /etc/X11/xorg.conf.f/00-keyboard.conf
is currently
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "fr"
Option "XkbModel" "pc105"
Option "XkbVariant" "latin1"
EndSection
But the keyboard layout remains in QWERTY...
Additional materials
In /etc/locale.gen
file, only these 4 lines are uncommented:
en_US.UTF-8 UTF-8
en_US ISO-8859-1
fr_FR.UTF-8 UTF-8
fr_FR ISO-8859-1
Output of locale-gen
command:
Generating locales...
en_US.UTF-8... done
en_US ISO-8859-1... done
fr_FR.UTF-8... done
fr_FR ISO-8859-1... done
Generation complete.
LANG
variable created with:
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
N.B. I use a fresh install of Arch, so I can reinstall it easily if necessary.
N.B. I am completely new to Arch.
Post
The following users marked this post as Works for me:
User | Comment | Date |
---|---|---|
zetyty |
Thread: Works for me The keyboard layout is correctly changed everywhere: terminal/console and in log in screen (it was not the case with changing the GNOME Settings panel ... |
Jul 29, 2023 at 07:15 |
As the keyboard layout wiki suggests, loadkeys
only sets the keyboard layout for the current session.
In order to persist these changes, the KEYMAP
variable must be set in /etc/vconsole.conf
.
This is exactly what is happening when executing
localectl set-keymap --no-convert fr-latin1
However, this would only update the configuration on the keyboard layout used in the console!
To additionally update the Xorg server keyboard layouts, you would run the latter command without the --no-convert
flag.
However, I am not sure whether there is an equivalent for Wayland.
These would be the keyboard layouts that would typically be used in the graphical user interface.
GNOME typically ignores the general Xorg settings in favour of its own configuration system.
According to the GNOME wiki this can be managed by gsettings
and/or dconf
.
However, for me only dconf
seems to read/modify the actual settings and gsettings
does nothing.
The current keyboard layout(s) can be displayed using both tools:
dconf read /org/gnome/desktop/input-sources/sources
gsettings get org.gnome.desktop.input-sources sources
I think it should be clear from the output of these two commands what tool to use. Assuming that you wish to overwrite any existing settings, you can simply use
dconf write /org/gnome/desktop/input-sources/sources "[('xkb', 'fr')]"
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'fr')]"
I am not quite sure about the gsettings
syntax, though, so feel free to let me know if this needs modification.
In the end, changing the keyboard layout in the GNOME Settings panel comes down to exactly invoking these commands in a convenient way. That is why you probably want to stick with the answer from InfiniteDissent, but this is what's happening under the hood.
PS: if you also want the keyboard in your (virtual) consoles to be updated, you will have to make sure /etc/vconsole.conf
is set accordingly (on top of setting your GNOME keyboard layout).
0 comment threads