Journal Le login manager pour les barbu·e·s : découverte de Emptty

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
15
3
juin
2024

Salut Nal,

Je voulais juste te partager ma petite découverte du jour: emptty. Un "display manager" en console.

À quoi sert emptty ?

Quand tu lances ton ordinateur, tu as vraisemblablement GDM ou Lightdm ou sddm qui se lance et te présente un joli écran qui te permet de choisir ton utilisateur, ton window-manager souhaité du moment et d’entrer ton mot de passe.

C’est parfait, surtout si des utilisateurs peu geeks partagent la machine.

Mais si tu es un vrai geek, un pur de dur, que tu trouves joli le noir de la console et de l’ascii art, c’est un peu « too much ». Et c’est lent (sauft lightdm, qui est impressionnant).

Si en plus tu es, comme moi, en train de passer à Sway/Wayland, il n’y a plus que lightdm qui te force à garder plein de dépendances X.org sur ta machine.

Et bien, Emptty remplit ce rôle en console. Il t’accueille au boot de la machine avec un joli ascii art, te demande ton login, ton mot de passe et te propose de choisir ton window manager parmi les sessions qu’il a trouvé.

Est-ce vraiment utile ?

Bon, à vrai dire, je pourrais simplement me logguer et puis taper "sway" et obtenir un résultat très similaire. Cependant, en configurant l’utilisateur par défaut et le WM par défaut, je n’ai qu’un mot de passe à taper, ce qui rend la chose équivalente à lightdm.

Et c’est bien plus rapide qu’un lancement de X.org/lightdm suivi du passage à Wayland (si on est maniaque parce que, bon, c’est pas tellement percetible en fait)

Et puis le nom est quand même topissime !

Comment ça s’installe et se configure ?

Le projet est sur…VADE RETRO… Github:

https://github.com/tvrzna/emptty

La documentation est assez mauvaise voire foireuse par moment.

Sous Debian, pour l’installer:

apt-get install emptty

suivi de

systemctl enable emptty@tty8.service && systemctl start emptty@tty8.service

(où tty8 est le tty que tu veux utiliser pour emptty. J’ai mis le tty1, ça fonctionne très bien aussi)

Ensuite, ça se configure dans /etc/emptty/conf (un simple fichier, que tu peux aussi appeler conf-tty8 si tu veux que la conf soit différente pour chaque tty)

Dans /etc/emptty, il y a également le motd.

Pour la conf, la page de man parle des options (mais sans exemple, pas glop).

La mienne se résume à :

DEFAULT_USER="ploum"
DEFAULT_SESSION="sway"

Par contre, je n’ai pas réussi à faire fonctionner PAM. J’ai donc mis un password vide sur mon gnome-keyring (en partant du principe que si qqn arrive jusque là, j’ai d’autres soucis que les mots de passe wifi). Mais je suis preneur si qqn arrive à mettre en place le bousin.

voir aussi : https://github.com/tvrzna/emptty/issues/31

Voilà, bons essais cher journal ! Te voilà prêt à avoir un laptop qui, dès l’écran de boot, affirme aux yeux du monde entier que t’es un·e vrai·e, un·e barbu·e qui conchie la souris et le GUI !

  • # Aussi: greetd

    Posté par  . Évalué à 10.

    Houla mais ça a l'air bloated ce truc !

    J'utilise greetd, qui m'autologe sur ma session, point1. J'en entend jamais parler, j'ai même du faire un ps a pour retrouver le nom :p.

    La config est simple :

    [initial_session]
    command = "/usr/local/bin/start-sway"
    user = "cg"

    1. LUKS au boot limite pas mal le nombre d'utilisateurs :). 

    • [^] # Re: Aussi: greetd

      Posté par  (site web personnel, Mastodon) . Évalué à 4.

      Ah mais c’est génial, faut que j’essaie !

      (bon, le gros logo debian de "emptty" au démarrage, ça me plait bien)

      Mes livres CC By-SA : https://ploum.net/livres.html

    • [^] # Re: Aussi: greetd

      Posté par  (site web personnel) . Évalué à 3.

      Pareil, mais pas en autologin. Faute de paquet Debian j'ai compilé le frontend ReGreet (Gtk4). Ça fonctionne plutôt bien, c'est sobre et via la bonne conf dans PAM je peux ouvrir ma session sans mot de passe si ma Yubikey est branchée.

      J'ai quand même quelques crash en sortie de veille, mais je n'arrive pas encore à identifier si c'est lié à Greet/ReGreet ou à Hyprland (ou autre chose encore).

      Je testerai peut-être GtkGreet (Gtk3) vu qu'il est arrivé récemment dans les dépôts officiels Debian.

      There is no spoon...

  • # Le bon DM est celui que je ne vois pas

    Posté par  . Évalué à 7. Dernière modification le 03 juin 2024 à 21:20.

    (edit: grillé par cg)

    Merci pour le partage. On ne vous arrête plus. Vous savez que vous n'avez pas besoin de Wayland pour le shell et Vim ou Emacs, hein ? Sway, c'est bloated pour une utilisation classique et "login" est amplement suffisant :-)

    De mon côté, avec le chiffrement total du disque dur, l'ordi me demande mon mot de passe au boot, et atterrit directement sur ma session ouverte (Wayland, parce que je le vaux bien). Simple, rapide, efficace. Je ne veux pas avoir à taper mon mot de passe deux fois ou cliquer sur des trucs. Ça, c'est non. Je hais les mots de passes départementaux.

    (alors effectivement, j'utilise SDDM et apparemment il utilise toujours X11 par défaut (et apparemment il y a un greeter Wayland expérimental qu'on peut activer) - si j'en crois la doc sous mes yeux, mais je ne sais même pas si un greeter se lance avec l'autologin)

    Évidemment, si je me déconnecte de ma session, ça va afficher un greeter et me demander mon mot de passe et ma session, et c'est lent et chiant et X11, mais en vrai je me contente de tout débranc

  • # Alternative moins extreme en mode semi-graphique.

    Posté par  . Évalué à 1.

    Visiblement il n'y a pas de paquet système autre que pour Archlinux ou ses distributions filles mais voici des alternatives:

  • # Ma solution

    Posté par  . Évalué à 7. Dernière modification le 04 juin 2024 à 20:53.

    Personnellement, j’ai tout simplement ça à la fin de mon .zshrc :

    if [[ "$TTY" = "/dev/tty1" && "$WAYLAND_DISPLAY" = "" ]] ; then
        XDG_CURRENT_DESKTOP=sway exec sway
    fi
    

    On peut difficilement faire plus simple.

    • [^] # Re: Ma solution

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      Comment tu fais si tu veux tester un truc avec un autre WM? (bref, comment tu sors de Sway pour lancer un autre WM ?).

      J’aime bien aussi les DM parce que, sur ma machine perso, je garde souvent un utilisateurs "test" avec un home vide pour tester ce qui se passe sur certains logiciels "par défaut".

      Mes livres CC By-SA : https://ploum.net/livres.html

      • [^] # Re: Ma solution

        Posté par  . Évalué à 3. Dernière modification le 05 juin 2024 à 12:15.

        Comment tu fais si tu veux tester un truc avec un autre WM? (bref, comment tu sors de Sway pour lancer un autre WM ?).

        Je vais sur le second tty, tty2 (Ctrl-Alt-F2).

        J’aime bien aussi les DM parce que, sur ma machine perso, je garde souvent un utilisateurs "test" avec un home vide pour tester ce qui se passe sur certains logiciels "par défaut".

        J’ai toujours à entrer mon login/mot de passe dans le terminal (le agetty standard). À moi de décider si cet autre user veut la même chose dans son .zshrc.

        • [^] # Re: Ma solution

          Posté par  (site web personnel, Mastodon) . Évalué à 2.

          C’est très pertinent. Dans mes tests, il y a juste le fameux problème du PAM: le keyring n’est pas débloqué automatiquement, ce qui est embêtant.

          Il y a peut-être une solution simple et élégante pour débloquer le keyring lors du login sur le tty?

          Mes livres CC By-SA : https://ploum.net/livres.html

          • [^] # Re: Ma solution

            Posté par  . Évalué à 3.

            Je ne sais pas, je n’ai pas de keyring. Ceci dit tout devrait se trouver dans /etc/pam.d, normalement il devrait suffire de regarder ce que fait ton login manager pour transposer la même chose dans /etc/pam.d/login.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.