Eche un vistazo a este artículo sobre cómo falsificar titulado: Cambio del idioma y la distribución del teclado en varias distribuciones , para que los diversos comandos cambien la distribución del teclado en diferentes distribuciones.
La mayoría de estos comandos se presentan como GUI, pero si observas, la mayoría de ellos también se pueden ejecutar desde la línea de comandos. Por ejemplo, estoy usando Fedora (una distribución basada en Red Hat). El comando system-config-keyboardcuando se ejecuta sin argumentos me muestra una GUI.
Pero si ejecuto, system-config-keyboard --helptambién se puede ejecutar desde la línea de comandos:
$ system-config-keyboard --help
Usage: system-config-keyboard [--help] [--noui] [--text] [<keyboardtype>]
--help Print out this message.
--noui Run in command line mode.
--text Run in text interface mode.
<keyboardtype> options are: ar-azerty, ar-azerty-digits, ar-digits, ar-qwerty, ar-qwerty-digits, be-latin1, ben, ben-probhat, bg_bds-utf8, bg_pho-utf8, br-abnt2, cf, croat, cz-lat2, cz-us-qwertz, de, de-latin1, de-latin1-nodeadkeys, dev, dk, dk-latin1, dvorak, es, et, fi, fi-latin1, fr, fr-latin1, fr-latin9, fr-pc, fr_CH, fr_CH-latin1, gr, guj, gur, hu, hu101, ie, is-latin1, it, it-ibm, it2, jp106, ko, la-latin1, mk-utf, nl, no, pl2, pt-latin1, ro, ro-cedilla, ro-std, ro-std-cedilla, ru, sg, sg-latin1, sk-qwerty, slovene, sr-cy, sr-latin, sv-latin1, tj, tml-inscript, tml-uni, trq, ua-utf, uk, us, us-acentos
Entonces, para cambiar la distribución de mi teclado a ruso, podría ejecutar el siguiente comando:
$ system-config-keyboard ru
xkblayout-state set 1, y al instante obtengo elusdiseño.