💾 Archived View for unbon.cafe › lejun › posts › 20230716_ly.gmi captured on 2024-08-25 at 00:05:09. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-08-18)

-=-=-=-=-=-=-

Ly

2023-07-16

Ly[1] est un gestionnaire de session[2] sous la forme d'une interface terminal. Parmi les points mis en avant, le programme serait compatible avec sway (Wayland), et indépendant de systemd.

Malheureusement et comme pour beaucoup d'autres le programme est limité dans les binaires proposés, il n'offre ainsi que la compilation à partir du code source. Très simple sur le papier, qu'est-ce qui pourrait tourner au vinaigre d'en faire mon premier essai ?

Compilation

Le code est copié via git[3], accompagné des sous-modules nécessaires – les dépendances des dépendances :

git clone --recurse-submodules https://github.com/fairyglade/ly

À priori il y a quatre sous-modules que sont :

On peut toujours compter sur les adeptes de l'informagique pour trouver des noms élégants.

Le répertoire propose un makefile[4], il suffit ici de lancer la commande `make`… pour obtenir un code d'erreur, il me manquerait la librairie `security/pam_appl.h`. Faisant probablement partie de la liste des dépendances requises et dont j'ai volontairement esquivé l'installation apt par curiosité :

Au total c'est 3700 ko de plus, qui pourraient être rentabilisés au cours de futures compilations. La compilation fonctionne désormais (malgré deux avertissements à priori sans importance lignes 505 et 619), comme le montre la commande terminal `make run`. Ne reste qu'à en définir le lancement au démarrage.

Le projet a changé de main et été porté en Zig qui se rajoute à la liste de dépendances lors de la compilation. J'attends d'en avoir la nécessité pour en parler, jusque là seulement la librairie standard C était nécessaire.

Installation

L'installation à proprement parler se fait via plusieurs commandes :

sudo make install installsystemd
systemctl enable ly.service
systemctl disable getty@tty2.service

La première commande crée les différents répertoires nécessaires à Ly, et la création du service systemd – À creuser, le programme étant censé y être indépendant –, la modification des permissions nécessite que l'opération soit faite en sudo.

Puis est activé le service Ly au démarrage par lien symbolique `/etc/systemd/system/display-manager.service` vers `/lib/systemd/system/ly.service`. Curieusement mon système a gardé des traces des services GNOME préalablement supprimés, un lien symbolique existait déjà vers `/lib/systemd/system/gdm3.service` qui ne m'est plus d'utilité, j'ai du le supprimer pour que l'opération se fasse.

La dernière commande permet de « désactiver getty sur le tty Ly ». Aucune idée de l'utilité, cela permettrait de basculer de tty sans que le gestionnaire ne s'affiche à chaque fois. Dans le doute je l'ai fait avant de supprimer le répertoire clone de Ly, et considérer l'affaire bouclée. Reste à redémarrer pour tester ça.

Configuration

Un fichier de configuration avec les valeurs par défaut est disponible dans `/etc/ly/config.ini`.

L'aspect visuel me suffit tel quel, j'y ai uniquement passé l'interface en français via `lang=fr`.

La version 0.6.0 ne déverouille pas le porteclé GNOME par défaut[5]. Pour résoudre ce problème, j'ai modifié le fichier `/etc/pam.d/ly` pour y ajouter quelques lignes.

#%PAM-1.0
auth       include      login
-auth      optional     pam_gnome_keyring.so
account    include      login
password   include      login
-password  optional     pam_gnome_keyring.so use_authtok
session    include      login
-session   optional     pam_gnome_keyring.so auto_start

Références

[1] Ly, Hocevar 2004

[2] Gestionnaire de session, LeJun 2023

[3] Système git, LeJun 2022

[4] Système make, LeJun 2023

[5] Gnome Keyring isn't fully unlocked by ly #331, AgathaSorceress 2022