Contents Next

1   Rappels sur X11 et XDMCP

Avant de parler du TP proprement dit, mieux vaut commencer par un petit résumé sur les serveurs X11 et sur le protocole XDMCP.

Vous savez qu'un serveur X11 est un logiciel graphique. Un serveur X11 est capable de dessiner divers motifs (carrés, cercles, images, etc.) sur un écran. Il existe désormais des serveurs X11 utilisables pour la plupart des OS connus (Windows, MacOS, Unix, etc.) et ce, avec la plupart des cartes graphiques existantes. L'avantage majeur du système X11 est qu'il s'agit aussi d'un logiciel réseau. En effet les ordres graphiques sont envoyés à un serveur X11 via le réseau (l'interface de programmation utilisée par X11 est l'interface «socket»). Ainsi une application graphique écrite pour X11 peut aussi bien s'afficher sur l'écran de la machine locale que sur l'écran d'une machine distante pour peu qu'elle dispose d'un serveur X11. Il est même possible de lancer un serveur X11 qui se comporte comme une fenêtre affichée via un autre serveur X11. Vous aurez à utiliser cette possibilité (commande Xnest) pour tester votre programme.

Un serveur X11 est une application comme les autres, il n'y a aucun lien particulier entre un serveur X11 et un système d'exploitation Unix. Un administrateur qui souhaite que ses utilisateurs ne travaillent que sous X11 doit remplacer l'habituel gestionnaire de sessions en mode texte login par un gestionnaire de sessions compatible avec X11 (e.g. xdm ou kdm). Le gestionnaire de sessions peut administrer plusieurs serveurs X11. Son rôle consiste à envoyer sur ces serveurs une application d'identification (il s'agit d'un simple client X11). Quand un utilisateur s'identifie correctement, un script de connexion est exécuté. Ce script met à jour quelques variables d'environnement, lance sur le serveur X11 quelques utilitaires (e.g. une barre de menus, des interpréteurs de commandes, etc.) et surtout un gestionnaire de fenêtres (e.g enlightenment ou kde). La plupart du temps c'est la sortie de ce gestionnaire de fenêtres qui met fin à la session.

Dans le cas d'une machine autonome, le gestionnaire de sessions prend directement contrôle du serveur X11 local. En fait c'est même ce gestionnaire qui lance le serveur X11 local. Dans le cas de machines minimales (e.g. terminaux X) ou de configurations plus complexes, un dialogue s'établit entre le serveur X11 et un gestionnaire de sessions. Ce dialogue est conforme au protocole XDMCP (X Display Manager Control Protocol), il est initié par le serveur X11 ou une application satellite du serveur X11. Plusieurs scénarios sont possibles :
Contents Next