Usando gsettings no 18.04+ com o Gnome, você pode adicionar adicionar layouts de teclado e alternar entre eles a partir da linha de comando ou do alternador de layout de teclado da área de trabalho.
1.Presentir layouts de teclado e opções:
$ gsettings list-recursively org.gnome.desktop.input-sources
org.gnome.desktop.input-sources show-all-sources false
org.gnome.desktop.input-sources xkb-options ['terminate:ctrl_alt_bksp']
org.gnome.desktop.input-sources per-window false
org.gnome.desktop.input-sources current uint32 1
org.gnome.desktop.input-sources mru-sources @a(ss) []
org.gnome.desktop.input-sources sources [('xkb', 'es'), ('xkb', 'no')]
2.Adicionando layouts de teclado:
$ gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'no'),('xkb','gr')]"
$ gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'es'), ('xkb', 'no'), ('xkb', 'gr')]
3.Alterando o layout de teclado atual a partir da linha de comando:
$ gsettings set org.gnome.desktop.input-sources current 1
Como agora temos três idiomas diferentes, temos três opções, de 0 a 2, sendo 1 espanhol, 2 norueguês e 3 grego. Assim, definir atual como 1 acima torna o norueguês o layout atual do teclado.
4.Como listar todos os layouts de teclado possíveis:
cat //usr/share/X11/xkb/rules/base.lst
5.Alterando o layout do teclado com um atalho de teclado:
Um atalho de teclado é pré-configurado para alterar o layout do teclado. O presente atalho:
$ gsettings get org.gnome.desktop.wm.keybindings switch-input-source
['<Super>space']
Um novo atalho pode ser definido usando o conjunto gsetting, mas tome cuidado para não usar um atalho que já esteja em uso. Para listar todos os atalhos em uso:
$ gsettings list-recursively org.gnome.desktop.wm.keybindings
org.gnome.desktop.wm.keybindings cycle-windows-backward ['<Shift><Alt>Escape']
org.gnome.desktop.wm.keybindings minimize ['<Super>h']
org.gnome.desktop.wm.keybindings move-to-workspace-7 @as []
org.gnome.desktop.wm.keybindings move-to-workspace-8 @as []
org.gnome.desktop.wm.keybindings move-to-workspace-9 @as []
org.gnome.desktop.wm.keybindings move-to-monitor-left ['<Super><Shift>Left']
...