GNU Guix System : du mieux et toujours autant de bonheur

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.

Mots-clefs : , , , , , , , , , ,

2 Réponses à “GNU Guix System : du mieux et toujours autant de bonheur”

  1. Andréas Livet dit :

    Merci beaucoup pour ces articles très détaillés sur l’utilisation de Guix.

    C’est bizarre, ton blog n’était pas remonté dans mes recherches avec DuckDuckGo…

    En tout cas, je suis d’accord avec toi, j’ai l’impression que Guix est un peu la distribution du futur.

    Par contre, quand je vois les efforts que tu as déployés pour avoir une distribution utilisable et l’ensemble des connaissances en système Linux nécessaires pour trouver des solutions, je me dis que c’est pas pour tout de suite que Guix sera « mainstream ».

    Je souhaite aussi passer à Guix comme distribution principale, mais j’hésite beaucoup, car je ne peux pas consacrer autant de temps à la configuration de ma machine, je ne suis pas tout le temps sur mon ordi et faut que ça juste marche quand j’en ai besoin…

    Je salue ton courage et ta détermination dans la réalisation de paquets aussi complexes que Firefox, je pense que je me serai arrêté en chemin.

    Sinon, as-tu un avis sur Nix ? Étant une distribution plus ancienne, je m’attends à ce qu’elle soit plus facile à utiliser et configurer, non ?

  2. julien1001 dit :

    Cher Andréas,

    Merci pour ton commentaire.

    Et merci pour ton journal promu en dépêche sur linuxfr.org. Je l’ai adoré.

    Il est clair que GNU Guix n’est pas pour tout le monde.

    Il est vrai que j’ai aussi envisagé Nix et NixOS et cela aurait été une solution globalement plus facile étant donné que le projet Nix présente plus de paquets et, surtout, n’est pas aussi strict que GNU concernant le caractère libre des logiciels (noyau Linux, firmware, Mozilla Firefox, même en version binaire…).

    J’ai néanmoins préféré GNU Guix pour les raisons suivantes :
    - base 100% libre ;
    - utilisation d’un langage de programmation complet et existant ;
    - définition plus claire d’un paquet (critère assez subjectif).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>