• Accueil
  • > Archives pour février 2020

Archive pour février 2020

GNU Guix System : du mieux et toujours autant de bonheur

Dimanche 2 février 2020

Dans un article précédent, j’avais fait une présentation de GNU Guix et de sa distribution système dérivée GuixSD, renommée Guix System. J’avais également expliqué comment j’avais installé et configuré cette distribution sur mon ordinateur personnel, un Dell Precision M4400, afin de le rendre autant que possible fonctionnel.

Je souhaite revenir sur quelques points de mon article afin d’y apporter une mise à jour.

Disposition de clavier BÉPO

Je trouvais dommage que le changement de disposition de clavier soit compliqué.

Avec la version 1.0.0 de GNU Guix, ceci a été grandement amélioré car un système unifié de déclaration d’une disposition de clavier a été mis en place.

Les choses sont maintenant un peu plus simples à spécifier dans le fichier de configuration du système :

(operating-system
  ...
  (keyboard-layout (keyboard-layout "fr" "bepo"))  ;for the console
  ...
  (services (cons (set-xorg-configuration
                    (xorg-configuration             ;for Xorg
                      (keyboard-layout keyboard-layout)))
                  %desktop-services))
...)

Numérisation de documents

J’avais dû créer mon propre paquet sane-backends afin que le système puisse reconnaître mon scanner USB.

Entre temps, le paquet officiel sane-backends a été mis à jour et le support des périphériques USB a été activé. Mon paquet personnel n’est donc plus nécessaire.

Clés USB, cartes SD et autre media amovibles

Il semble que, sur ce point, j’étais resté bloqué au 20e siècle…

La seule solution que j’avais trouvé pour monter des media amovibles en tant qu’utilisateur avait consisté à :

  1. rendre l’exécutable mount (ainsi que umount) setuid;
  2. déclarer chaque medium amovible dans la section file-system de la configuration du système;
  3. créer manuellement un point de montage pour chaque medium.

Tout ceci n’était pas très satisfaisant.

J’ai donc creusé une nouvelle fois le problème et il s’avère qu’il existe maintenant une solution beaucoup plus simple à ce besoin et cette solution s’appelle udisks.

Ce logiciel fournit une commande, udisksctl, qui permet de monter, en tant que simple utilisateur, un medium amovible :

udisksctl mount --block-device <chemin du périphérique du système de fichiers>

Par exemple, pour monter une clé USB présentant une partition avec l’étiquette SD_CB_64G, l’utilisateur peut exécuter cette commande :

udisksctl mount --block-device /dev/disk/by-label/SD_CB_64G

Un point de montage est alors automatiquement créé dans le répertoire /media/<nom d’utilisateur>/SD_CB_64G, et le système de fichiers de la partition y est monté.

Pour démonter le système de fichiers, il y a la sous-commande unmount :

udisksctl unmount --block-device /dev/disk/by-label/SD_CB_64G

Il s’agit donc d’une solution qui ne demande pas de configuration particulière (les outils sont déjà installés sur le système de base) et qui est particulièrement flexible (cela fonctionne théoriquement pour tout medium amovible).

Conclusion

J’ajouterais que l’utilisation de GNU Guix est sensiblement plus rapide, en particulier la mise à jour des paquets (guix pull). Les choses vont donc en s’améliorant.

Je galère pour avoir un navigateur entièrement fonctionnel mais j’apprécie toujours la possibilité de se créer ses propres environnements et la facilité offerte lors des mises à jour système.