Niveau :      
Résumé : gdmflexiserver

Il existe une commande bien sympathique qui permet de lancer une nouvelle session gdm sans couper la dernière. En effet, lorsque vous avez une session ouverte avec gdm, le serveur X est occupé et ne vous permet donc pas de vous connecter sous un autre utilisateur. Ceux qui ont une distribution bien léchée ont déjà un bouton changer d'utilisateur qui permet ce genre de chose. Comment se fait-ce ?

Celles-ci utilisent la commande gdmflexiserver. Cette commande demande directement à gdm de lancer un nouveau serveur X et d'y ouvrir un nouvel écran de connexion.

$ gdmflexiserver

Notez au passage que gdm locke le serveur d'origine, ce qui empêchera le nouveau venu de faire un petit ctrl-alt-Fx pour se faire passer pour vous sans votre mot de passe.

Petite option utile, gdmflexiserver permet d'ouvrir la nouvelle session dans une fenêtre à l'intérieur de la première en utilisant Xnest. Grâce à quoi vous pourrez par exemple lancer une session gnome propre plutôt que de vous embêter à gérer le lancement de votre Xnest à la main.

$ gdmflexiserver -n

En pratique gdmflexiserver implémente une communication générique avec le démon gdm, ce qui veut dire qu'il peut être utilisé pour d'autres choses. Par exemple, récupérer la version de gdm qui tourne :

gdmflexiserver -c VERSION

La liste des commandes disponibles ne se trouve que dans le source de gdm, mais elles sont tout de même documentées. Pour les trouver, cherchez les constantes commençant par GDM_SUP_ dans gdm.h. Notez que certaines commandes nécessitent une authentification préalable (avec l'option -a) :

$ gdmflexiserver -a -c QUERY_VT

Grâce à cette commande, vous pourrez scripter ce qui vous intéresse. Essayez par exemple changer la configuration de gdm en direct.