Je dois provisionner plusieurs ordinateurs de bureau Ubuntu 14.04/14.10. La plupart des choses que j'ai pu approvisionner facilement car elles peuvent être définies dans des fichiers de configuration ou à partir de la ligne de commande.
Mais deux problèmes me empêchent de régler les langues disponibles et les raccourcis clavier pour basculer entre les langues. Je sais comment les faire de gnome-control-center
Définir les langues disponibles
Region & Language > Input Sources > English (US) + German + Italian
Définir les raccourcis clavier pour changer de langue
Shortcut Settings > Typing > Switch to next source (Super+Escape), Switch to previous source (Shift+Super+Escape)
Mais je ne sais pas comment faire à partir de fichiers de configuration ou de ligne de commande, je ne peux donc pas le provisionner automatiquement.
Les clés que vous recherchez sont:
pour éditer les sources d'entrée:
org.gnome.desktop.input-sources sources
pour éditer le raccourci clavier pour changer de langue:
org.gnome.desktop.wm.keybindings switch-input-source
pour commuter la source d'entrée en arrière:
org.gnome.desktop.wm.keybindings switch-input-source-backward
Exemple de commandes pour éditer les trois à partir de la ligne de commande:
Pour modifier les sources d'entrée, définissez les sources d'entrée comme indiqué dans votre question:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'it'), ('xkb', 'de')]"
pour régler la combinaison de touches de raccourci clavier sur Ctrl+space
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Primary>space']"
pour définir la combinaison de touches de raccourci clavier pour basculer en arrière Shift+Super+space
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift><Super>space']"
gsettings get org.gnome.desktop.input-sources sources
gsettings get org.gnome.desktop.wm.keybindings switch-input-source
gsettings get org.gnome.desktop.wm.keybindings switch-input-source-backward
Vous pouvez rechercher des mots-clés dans la base de données en répertoriant toutes les clés à l'aide de la commande suivante:
gsettings list-recursively
qui listera toutes les clés existantes, ou (ce que je fais régulièrement) installe dconf-editor
et trouve simplement vos mots-clés avec Ctrl+F.
Modifier
Comme demandé dans un commentaire, j'ai ajouté un petit script pour parcourir les sources d'entrée à partir de la ligne de commande:
#!/usr/bin/env python3
import subprocess
import sys
src = sys.argv[1]
key = "org.gnome.desktop.input-sources"
get = lambda cmd: subprocess.check_output(["/bin/bash", "-c", cmd]).decode("utf-8").strip()
src_list = len(eval(get("gsettings get "+key+" sources")))-1
current = int(get("gsettings get "+key+" current").split()[-1])
if src == "+":
set_new_value = "gsettings set "+key+" current "+(str(current+1) if current < src_list else "0")
Elif src == "-":
set_new_value = "gsettings set "+key+" current "+(str(current-1) if current > 0 else str(src_list))
subprocess.Popen(["/bin/bash","-c", set_new_value])
switch_source.py
Exécutez-le à l'aide de la commande:
python3 /path/to/switch_source.py +
pour aller à la source d'entrée suivante, et
python3 /path/to/switch_source.py -
aller au précédent