arthur.bebou

Le site arthur.bebou.netlib.re - retour accueil

git clone git://bebou.netlib.re/arthur.bebou
Log | Files | Refs |

commit d51dcc1f819f5f21e14169992e5b2fc5d98e28c9
parent 11be67207929bdc1d3ba257cba743e2820286426
Auteurice: Arthur Pons <arthur.pons@unistra.fr>
Date:   Tue, 11 Feb 2025 21:57:32 +0100

Début article ordis secours cath

Diffstat:
Acontents/secours-cath/index.sh | 131+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 131 insertions(+), 0 deletions(-)

diff --git a/contents/secours-cath/index.sh b/contents/secours-cath/index.sh @@ -0,0 +1,131 @@ +#! page +title: Des debian multi-utilisateurs et multi-langues +author: Arthur Pons +description: Comment créer un système multi-utilisateurs multi-langues pour debian + lightdm + cinnamon +publication: 2025-02-11 + +sectionmd: main + +## Pourquoi + +L'accueil de jour du Secours Catholique souhaitait s'équiper de quelques +ordinateurs en accès libre pour les personnes exilées. Problème, les +bénéficiaires parlent des langues différentes. Il faut donc un système +permettant de changer relativement facilement de langue et de configuration de +clavier. + +## Les outils + +Pour faire simple et, on l'espère, stable, nous allons utiliser : + + * OS : debian pour sa stabilité et son ubiquité + * Environnement de bureau : cinnamon pour sa ressemblence à windows + * Gestionnaire de session : lightdm parce que c'est le défaut de debian + +## La configuration + +Notre principal besoin est de pouvoir utiliser le système sous plusieurs +langues. Or il semblerait qu'il ne soit pas possible[^1] de modifier la langue +du système à la volée. Pour le faire nous allons créer autant de comptes que de +langues nécessaires. Un compte pour l'arabe du Soudan, un compte pour l'arabe +de Syrie, un compte pour le persan etc. Je suis au courant que les relations +qui lient les pays et langues ne sont pas "Un pays = une langue" ou "une langue += un pays" mais du fait de contraintes qui seront exposée plus tard nous allons +faire comme si c'était le cas. + +### Créer les locales + +Les locales désignent un ensemble de configurations qui permettent au système +ou aux outils à l'intérieur de se comporter en accord avec une langue et ses +pratiques. Par exemple : + + $ LC_ALL=fr_FR.utf8 date + mar. 11 févr. 2025 20:52:57 CET + + $ LC_ALL=en_US.utf8 date + Tue Feb 11 08:54:02 PM CET 2025 + +Ces locales doivent être générées. Ca peut se faire à l'installation de debian +mais aussi après coup. D'abord, décommenter les lignes pertinentes de +`/etc/locale.gen` (ici exemple de l'arabe soudanais et syrien) : + + sed -i.bak '/ar_SD/ s/^# //;\ + /ar_SY/ s/^# //;' /etc/locale.gen + +Puis les générer + + locale-gen + +### Changer de disposition de clavier + +Il est possible de modifier son clavier, pour peu que l'on connaisse +l'identifiant de la disposition de clavier voulue : + + setxkbmap ara + +Cela dit on veut pouvoir changer d'un clavier à un autre au sein d'une même +session pour pouvoir taper des url ou des mot de passe par exemple. Pour cela +pas d'autre choix que de le faire via l'UI de cinnamon. + +### Création des comptes + +Pour créer le compte du soudan on peut faire : + + adduser sudan + +sauf que les personnes concernées ne savent pas toujours lire notre alphabet. +Elles ne sauront donc pas choisir le bon utilisateur. On peut utiliser le nom +arabe du Soudan avec l'option `--allow-all-names`. + + adduser --allow-all-names السُّودان + +Puisque cela n'a pas vraiment de sens de mettre des mots de passe sur ces comptes on utilisera également l'option --disabled-password + + adduser --allow-all-names --disabled-password السُّودان + +Pour modifier l'image qui apparaitra à côté du compte lors de l'écran de login +on modifie le fichier correspondant dans `/var/lib/AccountsService/users`[^3]. +Dans le fichier il faut : + + 1. modifier la ligne Icon pour qu'elle pointe vers un fichier png de taille + 96x96 ou moins situé dans le dossierd d'à côté `../icons`. + 2. ajouter une ligne `LANGUAGE=ar_SY.utf8` (pour l'arabe syrien par ex) afin + de configuer la langue du compte. + +### Configuration du gestionnaire de sessions + +Le besoin est : + + * Pouvoir choisir un compte dans une liste de pays/langues + * Ne pas avoir à entrer de mot de passe + * Avoir un second moyen d'identifier le pays/langues + +La configuration se fait dans les fichiers `/etc/lightdm/lightdm.conf` et +`/etc/lightdm/lightdm-gtk-greeter.conf`. Dans `lightdm.conf` il faudra +décommenter la ligne : + + #greeter-hide-users=false + +pour que l'écran liste les différents comptes plutôt que d'avoir à les taper. +C'est d'autant plus importants qu'ils contiennent des caractères de plusieurs +alphabets différents. Il faudra ensuite ajouter la ligne suivante à +`lightdm-gtk-greeter.conf` : + + indicators = ~host;~spacer;~clock;~spacer;~layout;~language;~session;~a11y;~power + +L'indicateur `~language` permet notamment de régler la langue du compte qui est +seléctionné[^2]. Cela permet de se connecter et éventuellement des réglages sur +le compte soudanais sans pour autant lire l'arabe. Il faudra par contre se +souvenir de revenir à l'arabe ensuite[^4]. + + +[^2]: Dans les fait je ne comprends pas bien comment cela fonctionne, je dois + parfois me logguer deux fois de suite pour que ça fonctionne. +[^1]: ou du moins je ne sais pas faire +[^3]: sur mon debian perso je n'avais pas de dossier et pour cause, je n'avais + pas le paquet accountsservice. Je n'ai pourtant pas le souvenir de l'avoir + installé à la main sur le debian du secours catholique. Pas grand, au pire + il faut l'installer. +[^4]: en modifiant le fichier dans `accountsservices` comme détaillé auparavant + ou en se déconnectant puis en modifiant la langue via l'écran de login en + haut à droite