superchicken a écritbonjour, je me permets une question:
comment fait on pour ouvrir une session guest depuis le gdm (c'est l'interet d'un guest je crois)?
merci 😉
J'ai fait pas mal de recherches et je suis parvenu à trouver comment faire. Tout d'abord, l'option pour lancer la session guest n'est accessible qu'à partir d'une session déjà lancée, parce-que la commande pour lancer la session guest,
gdmflexiserver, doit s'authentifier au démon GDM. Et pour ce faire, il lui faut un lui donner un magic cookie valide (le .Xauthority), cookie uniquement créé lors du lancement d'une session. Mais il existe aussi un cookie global, situé par défaut dans /var/lib/gdm/.cookie (lisible uniquement par root), qui marche tout le temps. Or,
gdmflexiserver ne permet pas de s'en servir. J'ai donc écrit un petit script qui comme
gdmflexiserver discute avec le démon GDM, mais s'authentifie avec le cookie global. Cela nous permet donc de lancer une session guest sans qu'aucune autre session ne soit active. Il ne reste plus qu'à pouvoir lancer ce script depuis l'écran de connexion.
Dans GDM on peut customiser le menu en y rajoutant des éléments. Il suffit pour ça de rajouter les lignes suivantes à la fin de /etc/gdm/gdm.conf, dans la section [customcommand]:
CustomCommand0=/usr/share/gdm/guest-session/guest-session-launch-root
CustomCommandText0=Note: tous les fichiers que vous enregistrerez dans cette session seront perdus.
CustomCommandLabel0=Session d'_invité(e)
CustomCommandLRLabel0=Session d'_invité(e)
CustomCommandTooltip0=Lance une session sans demander de mot de passe
CustomCommandIsPersistent0=false
CustomCommandNoRestart0=true
Ceci rajoute un élément qui lance le
script en question, qu'il faut placer dans /usr/share/gdm/guest-session/ et rendre exécutable. Notez qu'il vous faut installer le paquetage [apt]socat[/apt] qui est utilisé par le script.