Comment changer les claviers à partir de la ligne de commande?

54

Comment puis-je modifier les dispositions de clavier à partir de la ligne de commande? Par exemple, je veux passer de l'anglais à l'hébreu. Je suis capable de le faire à partir de lightdm avec la petite icône dans le coin de mon écran.

    
posée Eyal 30.10.2012 - 14:05
la source

7 réponses

41

Du terminal

Anglais vers l'hébreu et vice versa avec Alt + Shift

setxkbmap -option grp:alt_shift_toggle us,il

Vous pouvez voir tous les alias de paramètres régionaux avec cette commande

cat /etc/locale.alias

Plus d'infos sur setxkbmap dans manuel

man setxkbmap
    
réponse donnée Nick Thom 30.10.2012 - 15:29
la source
48

Vous pouvez trouver tous les différents keymaps dans les emplacements suivants:

/usr/share/keymaps/i386/
/usr/share/kbd/keymaps/i386/
/usr/share/X11/xkb/symbols/
  

Pour changer la disposition du clavier (en espagnol, par exemple) dans la commande Linux   ligne, tapez la commande suivante:

loadkeys es

Pour X:

setxkbmap es
     

Pour que ces modifications soient systémiques, en supposant que vous utilisiez Ubuntu, vous   peut utiliser ce qui suit:

sudo dpkg-reconfigure console-setup
    
réponse donnée Dr_Bunsen 30.10.2012 - 14:09
la source
12

Ubuntu 13.10 ou ultérieur

Cela fonctionne mieux que setxkbmap avec l'indicateur de disposition du clavier Gnome / Unity.

gsettings set org.gnome.desktop.input-sources current 0

0 est l'index de la mise en page (0 par défaut ou top). Mises en page indexées à partir de 0.

Pour une utilisation facile, créez un alias.

    
réponse donnée user.dz 01.02.2014 - 14:45
la source
9
setxkbmap us,il -option "lv3:ralt_alt,grp:alt_shift_toggle"

cette commande vous permet de basculer entre l'anglais et l'hébreu uniquement par right alt + shift et de vous sauver de left alt + shift .

    
réponse donnée ansar313 03.02.2014 - 14:44
la source
1

Il ne semble pas y avoir d’outil CLI standard, mais xkb-switch est un petit outil. outil open-source pour faire le travail. Je viens de le tester avec Ubuntu 16.04.4 LTS et cela fonctionne parfaitement.

$ xkb-switch       # display current group
ua
$ xkb-switch -l    # list groups
us
ua
$ xkb-switch -s us # switch to a named group
$

Cela semble meilleur que les autres solutions car setxkbmap <name> gâche toutes les options et setxkbmap -layout <name> , bien qu'il préserve les options, ne parvient toujours pas à modifier l'indicateur de la barre des tâches ni le grp_led si défini.

Avertissement

Si votre ~/.config/kxkbrc utilise LayoutLoopCount (par exemple, il est défini sur une valeur inférieure au nombre total de mises en page répertoriées dans LayoutList ), comme ceci:

LayoutList=us,ua,th,de
LayoutLoopCount=2
Options=grp_led:scroll,grp:rwin_switch,compose:menu,lv3:ralt_switch,
        nbsp:level2,grp:rctrl_toggle,misc:typo

alors xkb-switch vous permettrait seulement de basculer entre les dispositions du groupe en cours.

Appeler au verrouillage de l’écran

J'ai remarqué votre commentaire:

  

Juste avant que mon écran de veille ne s’active, je veux passer à l’anglais pour pouvoir taper facilement mon mot de passe à mon retour.

C'était précisément mon objectif, alors voici la réponse:
Pour ce faire, il vous suffit de l'envelopper dans un script accrédité sur dbus-monitor , comme indiqué ci-dessus ici .

    
réponse donnée bytebuster 20.03.2018 - 12:02
la source
0

Juste par curiosité, pourquoi voudriez-vous faire ça? Pourquoi voudriez-vous ouvrir un terminal et ils tapent une commande pour changer votre disposition de clavier quand vous pouvez le faire par un simple raccourci clavier! En supposant que vous utilisez Ubuntu, cela se passe comme Windows + Space

    
réponse donnée EetSandhu 26.02.2017 - 16:08
la source
0

En utilisant gsettings dans la version 18.04+ avec Gnome, vous pouvez à la fois ajouter des dispositions de clavier et basculer entre elles depuis la ligne de commande ou depuis le sélecteur de disposition du clavier sur le bureau.

1. Présentations et options du clavier:

$ 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.Ajout de dispositions de clavier:

$ 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. Modification de la disposition actuelle du clavier à partir de la ligne de commande:

$ gsettings set org.gnome.desktop.input-sources current 1

Comme nous avons maintenant 3 langues différentes, nous avons trois choix de 0 à 2, 1 étant l'espagnol, 2 étant le norvégien et 3 étant le grec. Par conséquent, définir actuel sur 1 ci-dessus fait du norvégien la disposition de clavier actuelle.

4.Afficher toutes les dispositions de clavier possibles:

cat //usr/share/X11/xkb/rules/base.lst

5.Changement de la disposition du clavier avec un raccourci clavier:

Un raccourci clavier est préconfiguré pour modifier la disposition du clavier. Le raccourci actuel:

$ gsettings get org.gnome.desktop.wm.keybindings switch-input-source
['<Super>space']

Un nouveau raccourci peut être défini en utilisant gsetting set, mais veillez à ne pas utiliser de raccourci déjà utilisé. Pour répertorier tous les raccourcis utilisés:

$ 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']
...
    
réponse donnée ElToro1966 08.05.2018 - 09:40
la source

Lire d'autres questions sur les étiquettes