Comment puis-je changer de disposition de clavier en ligne de commande? Par exemple, je veux passer de l'anglais à l'hébreu. Je suis capable de le faire depuis lightdm avec le petit icône dans le coin de mon écran.
Réponses
Trop de publicités?En utilisant gsettings dans 18.04+ avec Gnome, vous pouvez à la fois ajouter des mises en page de clavier et basculer entre elles en ligne de commande ou depuis le sélecteur de mises en page de clavier sur le bureau.
1. Présenter les mises en page de clavier et les options :
$ 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. Ajouter des mises en page 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. Changer la mise en page de clavier actuelle en 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, le 1 étant l'espagnol, le 2 le norvégien et le 3 le grec. Ainsi, en définissant current sur 1 ci-dessus, cela fait du norvégien la mise en page de clavier actuelle.
4. Lister toutes les mises en page de clavier possibles :
cat //usr/share/X11/xkb/rules/base.lst
5. Changer la mise en page de clavier avec un raccourci clavier :
Un raccourci clavier est préconfiguré pour changer la mise en page de clavier. Le raccourci actuel :
$ gsettings get org.gnome.desktop.wm.keybindings switch-input-source
['space']
Un nouveau raccourci peut être défini en utilisant gsettings set, mais veillez à ne pas utiliser un raccourci déjà utilisé. Pour lister tous les raccourcis utilisés :
$ gsettings list-recursively org.gnome.desktop.wm.keybindings
org.gnome.desktop.wm.keybindings cycle-windows-backward ['Escape']
org.gnome.desktop.wm.keybindings minimize ['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 ['Left']
...
Pour Ubuntu 18.04 + Gnome les autres réponses n'ont pas fonctionné pour moi, mais celle-ci oui :
gdbus call --session --dest org.gnome.Shell \
--object-path /org/gnome/Shell \
--method org.gnome.Shell.Eval \
"imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"
L'argument dans "inputSources[0]" est l'indice de la disposition du clavier, tout comme pour la solution gsettings.
Trouvé sur linux StackExchange.
J'ai pu trouver la meilleure et la plus stable combinaison de xkb-switch
, setxkbmap
et ibus
. IBus permet la saisie en pinyin et xkb-switch
est stable, tandis que setxkbmap
rend le jeu de mises en page du clavier.
C'est important lors du passage direct à une langue, par exemple Shift+Alt+1...4. Pourquoi ne pas utiliser seulement IBus ? Il se bloque tout le temps car il nécessite un redémarrage pour rétablir les mises en page du clavier après le passage à une mise en page non latine. Au moins dans FireFox, voir I need to exit and restart ibus-daemon to make ibus-chewing work. #2319.
Avis de non-responsabilité : Testé sur OpenSuse Leap 15.3 xfce4 et xkb-switch
est compilé à partir de la source
Pour que cela fonctionne, vous devez créer des fichiers de script avec ces commandes et attribuer des raccourcis clavier pour les exécuter. Vous voudrez peut-être également désactiver le raccourci Alt+Shift dans les paramètres de commutation du clavier pour supprimer les comportements inattendus.
Voici donc mon ensemble de commandes :
Shift+Alt+1 - passer à l'anglais :
killall ibus-daemon
setxkbmap us,ru,pt
xkb-switch -s us
Shift+Alt+2 - passer au russe :
killall ibus-daemon
setxkbmap us,ru,pt
xkb-switch -s ru
Shift+Alt+3 - passer au chinois mandarin pinyin :
ibus-daemon -d
ibus reset-config
gsettings set org.freedesktop.ibus.general preload-engines "['libpinyin']"
setxkbmap us,ru,pt
xkb-switch -s us
ibus engine libpinyin
Shift+Alt+4 - passer au portugais :
killall ibus-daemon
setxkbmap us,ru,pt
xkb-switch -s pt
Attribuez également le script suivant pour s'exécuter au démarrage du système.
killall ibus-daemon
- Réponses précédentes
- Plus de réponses