Configurer XDM

Cette section couvre ce qui doit être configuré pour que XDM puisse accomplir les fonctions décrites jusqu'ici dans ce document.

Pour chaque cas, la configuration décrite est le minimum nécessaire pour accomplir chaque but. Dans la plupart des cas, cela veut dire aussi que la configuration est la moins sécurisée. Référez-vous à la documentation additionnelle répertoriée dans la la section intitulée “Ressources” pour des informations supplémentaires concernant la sécurisation de XDM et des terminaux X (en particulier le Howto « exécuter des applications X distantes »).

Fichiers de configuration

Cette section décrit l'ensemble des fichiers de configuration de XDM suivant :

  • xdm-config

  • Xaccess

  • Xservers

  • Xresources

Il seront trouvés dans (Debian 2.1, Mandrake 7.0.2, RedHat 6.2) :

  /etc/X11/xdm
      
ou (SuSE 6.4) :
  /usr/X11R6/lib/X11/xdm
      

xdm-config

Définit l'emplacement des autres fichiers de configuration et les permissions d'accès de base. Pour toutes les distributions considérées dans ce document, les noms de fichiers apparaissent tels que cités ici (mais quelques fois, leur emplacement peut varier).

Il définit également les scripts qui doivent être lancés pour les différents états de transition d'une session X, c'est-à-dire au démarrage, etc. Vous ne devriez pas avoir besoin de les changer, car la plupart des distributions l'ont préconfiguré pour vous.

Notez que les sessions X gérées par XDM ont un ensemble de scripts de configuration et de démarrage différent des sessions X démarrées avec xinit ou startx (c'est-à-dire les sessions X non gérées par XDM).

Xaccess

Détermine quelles machines peuvent se connecter à XDM - c'est-à-dire de quelles autres machines du réseau nous acceptons des requêtes XDMCP. Si une machine n'est pas inscrite dans ce fichier, alors il lui sera impossible de demander une invite d'authentification à XDM.

Xservers

Contient une liste de machines auxquelles XDM se connectera, pour fournir une invite d'authentification, de façon automatique - c'est-à-dire, ces machines faisant déjà tourner un serveur X, mais qui veulent que ce soit notre machine qui fournisse l'invite d'authentification.

Ce fichier n'est nécessaire que pour des serveurs X gérés par XDM. Vous n'avez besoin d'aucune entrée dans ce fichier si vous laissez aux serveurs X distants la tâche de requérir XDM.

Pour une station de travail X autonome, il n'y a généralement qu'une seule entrée dans ce fichier, mentionnant l'hôte local « localhost ».

Xresources

Détaille les propriétés X utilisées par les composants visuels (par exemple la taille de la boîte d'identification, les couleurs, les images de fond, etc.).

Configurer XDM pour gérer des serveurs X

Une entrée doit être placée dans le fichier Xservers pour chaque serveur X sur lequel XDM doit présenter une invite d'authentification. Ceci peut inclure la machine locale et/ou une liste de machines distantes.

Exemple

  # D'abord la machine locale
  :0 local /usr/bin/X11/X vt7
  #
  # Puis les machines distantes
  emma:0 foreign
  alex:0 foreign
      

Ceci fera démarrer XDM sur la machine locale, et fera aussi présenter un écran d'authentification sur les serveurs X tournant sur les hôtes « emma » et « alex » (en supposant que les permissions ont été configurées sur « emma » et « alex » de façon à ce que notre machine puisse se connecter à leurs serveurs X).

Notez qu'il est possible de spécifier l'hôte et l'écran (:0, :1, etc.) si nécessaire, par exemple si vous faites tourner plusieurs serveurs X sur une machine seule.

Configurer XDM pour recevoir des requêtes

Le fichier Xaccess détermine quels hôtes peuvent faire des requêtes à XDM sur notre machine, de façon à obtenir une invite d'authentification.

Exemple

  # La première ligne pour les requêtes directes
  *
  # Les lignes suivantes pour les requêtes indirectes
  * CHOOSER BROADCAST
      

Signifie que n'importe quel hôte peut demander une invite d'authentification à XDM (le premier « * ») par une requête directe.

La ligne « CHOOSER » spécifie quels hôtes peuvent se connecter à XDM en utilisant des requêtes indirectes - dans ce cas, n'importe quel hôte peut demander à notre machine une liste d'hôtes potentiels auxquels se connecter (la seconde ligne « * »).

« BROADCAST » a pour effet que l'application « chooser » (« décideur » - NdT) sur notre machine obtiendra sa liste de serveurs disponibles (qui font également tourner XDM) par des requêtes diffusées au travers du réseau. Je parlerai plus tard de « chooser ».

Il est possible de spécifier des noms d'hôtes à cet endroit (et il y a aussi d'autres requêtes indirectes possibles, sans utiliser « chooser ») mais ce ne sera pas décrit ici (cf. la section intitulée “Ressources” pour des liens sur plus d'informations).

Démarrer X

La façon dont vous démarrerez le serveur X lui-même dépendra de la manière dont vous voulez qu'il interagisse avec XDM, local ou distant.

Station de travail X : XDM et serveur X local

XDM démarrera généralement X automatiquement pour vous, et sera normalement configuré pour être lancé durant le processus de démarrage (par les scripts d'initialisation).

Typiquement, le fichier Xservers contiendra une entrée unique - celle pour l'hôte local, et le fichier Xaccess n'aura besoin que d'autoriser l'accès depuis l'hôte local.

Terminal X : XDM distant

Démarrez uniquement X, sans client, avec des permissions d'accès telles que le XDM distant puisse s'y connecter à son lancement. La ligne suivante fait démarrer X sans contrôle d'accès :

  /usr/X11R6/bin/X -ac
          

Quand le XDM distant est lancé, il fournira d'autorité une invite d'authentification à tous les serveurs X configurés ainsi (suivant ceux présents dans son fichier Xservers).

Terminal X : questionner un XDM distant

Rappelez-vous qu'il y a 3 modes de requêtes : directes, indirectes et diffusées (directe pour un hôte seul, diffusée pour le premier hôte qui répond, ou indirecte pour une liste d'hôtes) :

  /usr/X11R6/bin/X -query l.hote.distant
  /usr/X11R6/bin/X -broadcast
  /usr/X11R6/bin/X -indirect l.hote.distant
          

Dans chaque cas, X devra probablement être démarré avec les droits du super-utilisateur root, et peut-être configuré pour être démarré par les scripts d'initialisation, si on veut que X soit lancé automatiquement au démarrage.

L'application Chooser

Quand XDM reçoit une requête indirecte, en supposant que l'option ait été spécifiée dans le fichier Xaccess pour l'application « chooser », il peut fournir à l'utilisateur une liste des autres serveurs gérés par XDM qu'il connaît.

Dans ce mode opératoire, l'utilisateur obtiendra, à la place de l'invite d'authentification, une application « chooser », laquelle lui fournira une liste des hôtes détectés sur le réseau et acceptant des connexions XDM.

La première fois que j'ai essayé d'utiliser chooser, j'ai trouvé que les fichiers Xresources fournis avec mes distributions SuSE et Debian spécifiaient une taille pour la boîte de dialogue de chooser trop grande pour les écrans... La ligne suivante dans le fichier Xresources corrige cela :

  Chooser*geometry:      700x500+300+200
      

Le chooser obtient sa liste d'hôtes par une de ces deux méthodes :

  • requête diffusée : Dans ce mode une requête est diffusée sur le réseau, et une liste est construite à partir des réponses reçues des autres serveurs exécutant XDM ;

  • écoute explicite : Il est possible de fournir au chooser une liste d'hôtes dans le fichier Xaccess, comme suit :

      %hostlist      emma alex liam
      *              CHOOSER %hostlist
            
    Cela aura pour effet que les hôtes emma, alex et liam seront tous listés comme candidats - même si une de ces machine est éteinte (il y a souvent un bouton pour tester par « ping » un hôte, afin de vérifier s'il est en fonctionnement avant d'essayer de s'y connecter).