Manière programmatique d'installer la disposition du clavier xkb

7

J'ai une nouvelle disposition de clavier qui fonctionne jusqu'à présent. Je souhaite l’envoyer aux utilisateurs qui auront très probablement une connaissance minimale de Linux. Le problème est d’installer cette mise en page, je dois faire beaucoup de copier / coller dans les fichiers du /usr/share/X11/xkbrépertoire. Voici les étapes que je dois effectuer.

  • Ajoutez la disposition du clavier dans / usr / share / X11 / xkb / symboles / in
  • Ajouter la langue à base.xml
  • Ajouter la langue à evdev.xml
  • Ajouter la mise en page à base.lst

Comment puis-je faire en sorte que l'utilisateur double-clique sur le fichier de mise en page et qu'il est installé.

Je connais bien les scripts shell, je peux donc manipuler des fichiers avec awk ou sed. Mais, je ne suis pas sûr que je devrais le faire.

ShaggyInjun
la source
1
Pour faire ces choses, des privilèges plus élevés seraient nécessaires, ce que (je l'espère) vos utilisateurs n'ont pas et ne pourront donc pas exécuter de script exécutant ces tâches de toute façon. Si vous avez un grand nombre d'actifs, je vous recommanderais un outil de gestion de la configuration tel que Puppet pour un déploiement en masse.
Joseph R.
Eh bien, ce n'est pas pour un environnement professionnel, donc puppet est probablement trop technique et je n'ai pas accès aux PC des utilisateurs finaux. Je cherche simplement une installation en double-clic ou une importation dans une application d'importateur de disposition de clavier. Comment font-ils normalement. Il doit y avoir un moyen de voir combien de polices sont là-bas, non?
ShaggyInjun
1
Les polices sont très différentes des dispositions de clavier. En général, elles ne font qu'ajouter un nouveau fichier et non pas modifier les fichiers existants. Elles sont beaucoup plus largement distribuées que les dispositions de clavier. L'ajout de nouvelles dispositions de clavier dans les fichiers existants du système n'est pas pris en charge, elles sont généralement ajoutées dans les fichiers en amont de XKB-config et sont récupérées par les conditionneurs.
Alanc
"Ils sont généralement ajoutés aux fichiers en amont de XKB-config et sont récupérés par les emballeurs." Pourriez-vous s'il vous plaît développer, et comment procéder pour les ajouter aux fichiers de configuration en amont.
ShaggyInjun

Réponses:

2

Votre utilisateur ne peut-il pas simplement cliquer sur l'icône qui fonctionnera xkbcompou xmodmapqui chargera la mise en page?

Modifier:

Je crois que ce n'est pas une tâche si simple. Vous devrez préparer une méthode de déploiement de fichiers dans des emplacements auxquels seul l'utilisateur root peut accéder. La meilleure idée serait probablement de préparer un progiciel système (tel que .deb ou .rpm). J'utiliserais puppet ;-) Il ajouterait une disposition de clavier xkb, il faudrait ensuite ajouter une nouvelle disposition à la configuration des utilisateurs. Je ne peux pas vous aider avec KDE mais dans gnome, il existe un outil simple pour obtenir / définir les paramètres de dconf - gnome setting store. C'est gsettingset il peut configurer xkbdes sources d'entrée.

Exemple:

lire les sources d'entrée:

`gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'pl'), ('xkb', 'us')]

configurer de nouvelles touches de clavier:

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'pl'),('xkb','us'),('xkb', 'de+mac')]"`

et il y aura un applet input-sources dans "systray" l'utilisateur peut choisir parmi: entrez la description de l'image ici

Mais c'est pour un seul utilisateur. Pour définir de tels paramètres à l’échelle du système, vous devez préparer un schéma dans /etc/dconf/db/localxkb:

[org/gnome/desktop/input-sources]
sources="[('xkb', 'pl'),('xkb','us'),('xkb', 'de+mac')]"

Un seul progiciel, qui sera installé par l'utilisateur à l'aide d'un logiciel de gestion de logiciel, ferait l'affaire.

Scyld de Fraud
la source
Ok, je suppose que vous faites allusion à la création d’un script shell et que vous le mettez à la disposition de l’utilisateur pour qu’il exécute l’installation. Malheureusement, mon exposition à xkbcompet xmodmapest très limitée. Auriez-vous des exemples? Si non, pourriez-vous préciser cela?
ShaggyInjun
1
Je n'ai pas compris vos intentions dans votre question. Souhaitez-vous que l'utilisateur clique chaque fois qu'il souhaite installer la disposition de votre clavier ou vous avez besoin d'une méthode d'installation pour installer de manière permanente votre disposition de clavier dans la session xorg de l'utilisateur? Les deux sont possibles. Mais de quoi avez-vous besoin?
Scyld de Fraud
1
Si vous utilisez marionnette, vous n'avez besoin d'aucun emballage, car marionnette s'exécute sur le système client en tant que root et peut modifier / ajouter n'importe quel fichier. Voici un exemple de jeu avec xkb en utilisant marionnette. Les alternatives utilisent donc des marionnettes ou un logiciel.
Scyld de Fraud
1
En outre, voici quelques packages xkbassociés debavec des sources et un lien vers la documentation.
Scyld de Fraud
1
J'ai bien peur de ne pas être debassez emballé pour vous aider. Je vous ai donné un lien vers un exemple, un paquet prêt à être utilisé avec des mises en page xkb supplémentaires. C'est tout ce que je peux faire pour le moment. Mais faire un paquet n'est pas si difficile et c'est principalement un script shell. Avec mes exemples, vous devriez faire face.
Scyld de Fraud
1

J ai exactement le même problème. Je l'ai "résolu" en utilisant le package de script suivant:

https://www.dropbox.com/s/gwmebvpz70oj9c6/MXB_AltGR_XKB.tar.gz?dl=0

Il s’agit d’une série de scripts qui installent le ko dans les listes et lui permettent d’être sélectionné dans la liste des claviers pouvant être installés. Il doit être exécuté en tant que root avec sudo. Il comporte également une fonction de désinstallation qui remet tout en place. Les scripts sont conçus de sorte qu'un utilisateur moyennement sophistiqué puisse modifier le clavier à sa guise et réinstaller la nouvelle version à l'aide des mêmes scripts.

Cela fonctionne très bien sur les installations en anglais. Bien qu'il disparaisse parfois lors des mises à jour. Lorsque vous changez la langue du système en espagnol (je suis au Mexique), la base de connaissances existe toujours, mais ne figure pas dans la liste des claviers traduits. Où cette liste traduite est-elle conservée? Je serais ravi de faire modifier mes versions des scripts en espagnol, mais je ne les trouve nulle part!?! Est-ce que quelqu'un connaît la réponse?

Fredo Lobo
la source
3
Votre message se situe à mi-chemin entre une réponse et une question. Veuillez l'éditer, indiquez-le uniquement en anglais et, si vous le souhaitez, posez une nouvelle question sur la façon d'adapter vos scripts pour qu'ils fonctionnent en espagnol et / ou dans d'autres langues.
Anthon