XDM et les terminaux X, mini-HOWTO

Kevin Taylor

kevin@northants.lug.org.uk

Sylvain Amrani pour la traduction française

traduc@amrani.com.fr

Historique des versions

Version v0.05 14 novembre 2000 Revu par : kt

Ajout de références à d’autres Howtos

Version v0.04 6 novembre 2000 Revu par : kt

Mises à jour suite à la première publication.

Version v0.03 3 juillet 2000  Revu par : kt

Mises à jour mineures suite aux premiers commentaires

Version v0.02 28 juin 2000  Revu par : kt

Premier brouillon de source SGML d’après le source HTML

Version v0.01 27 juin 2000  Revu par : kt

Premier brouillon de source HTML

Ce document décrit les principes de base pour utiliser XDM afin d’administrer les terminaux X. Il n’est pas pensé comme un vaste exposé sur toutes les caractéristiques de XDM, mais comme une introduction simple sur ce que peut faire XDM pour les terminaux X.

Pour une présentation complète sur l’installation et la configuration des terminaux X, reportez-vous s’il vous plaît au Thin-client HOWTO, du projet de documentation Linux, ou au projet Linux Terminal Server (cf. Section 7).

Table des matières

1. Introduction................................................................................................................................................................................5 1.1. Information de copyright.................................................................................................................................................5 1.2. Décharge de responsabilité..............................................................................................................................................5 1.3. Nouvelles versions ..........................................................................................................................................................5 1.4. Remerciements................................................................................................................................................................5 1.5. Réactions .........................................................................................................................................................................5 1.6. A faire..............................................................................................................................................................................6

2. Concepts de base ........................................................................................................................................................................6 2.1. Contenu du document......................................................................................................................................................6 2.2. A propos de ce document ................................................................................................................................................6

3. XDM............................................................................................................................................................................................7 3.1. Qu’est-ce que XDM ? .....................................................................................................................................................7 3.2. Qu’est-ce qu’un terminal X ? ..........................................................................................................................................7 3.3. Un peu de terminologie...................................................................................................................................................7 3.4. Que peut faire XDM ?.....................................................................................................................................................8

4. Configurer XDM ........................................................................................................................................................................9 4.1. Fichiers de configuration...............................................................................................................................................10 4.2. Configurer XDM pour gérer des serveurs X .................................................................................................................11 4.3. Configurer XDM pour recevoir des requêtes ................................................................................................................11 4.4. Démarrer X....................................................................................................................................................................12 4.5. L’application Chooser ...................................................................................................................................................12

5. Options de configuration avancée...........................................................................................................................................13 5.1. Configuration d’ensembles............................................................................................................................................13 5.2. Ressources X.................................................................................................................................................................14

6. Configurations courantes ........................................................................................................................................................14 6.1. Linux vers Linux ...........................................................................................................................................................14 6.2. Linux vers d’autres systèmes ........................................................................................................................................15 6.3. D’autres systèmes vers Linux........................................................................................................................................16

7. Ressources.................................................................................................................................................................................16 4

1. Introduction

1.1. Information de copyright

Ce document est soumis au copyright (c) 2000 Kevin Taylor et est distribué sous les conditions de la licence du Linux Documentation Project (LDP - Projet de documentation Linux), spécifié comme suit :

Sauf mention contraire, les documents Linux HOWTO sont soumis au copyright de leurs auteurs respectifs. Les documents Linux HOWTO peuvent être reproduits et distribués en tout ou partie, sur tout support physique ou électronique, tant que cette information de copyright est conservée sur chacune des copies. Les distributions commerciales sont autorisées et encouragées ; en revanche, l’auteur voudrait être informé de telles distributions.

Toute traduction, tous travaux dérivés ou de compilation contenant un document Linux HOWTO doit être couvert par cette information de copyright. En conséquence, vous ne pouvez pas créer un document dérivé d’un HOWTO et imposer de nouvelles restrictions à la distribution. Des exceptions à ces règles peuvent être accordées sous certaines conditions ; contactez le coordinateur Linux HOWTO à l’adresse donnée ci-dessous.

En un mot, nous voulons encourager la diffusion de ces connaissances par tous les moyens. En revanche, nous voulons conserver les droits de copyright sur les documents HOWTOs, et voulons être avertis des projets de redistribution des HOWTOs

Si vous avez des questions, contactez s’il vous plaît <linux-howto@metalab.unc.edu>

1.2. Décharge de responsabilité

Aucune responsabilité relative au contenu de ces documents ne saurait être acceptée. Utilisez les concepts, exemples et autre contenu à vos propres risques. S’agissant d’une nouvelle version de ce document, il peut y avoir des erreurs et des inexactitudes, qui peuvent bien sûr endommager votre système. Procédez avec prudence, et bien que cela reste hautement improbable, le(s) auteur(s) en décline(nt) toutes responsabilités.

Tous les copyrights sont détenus par leurs propriétaires respectifs, sauf mention contraire expresse. L’utilisation d’un terme dans ce document ne doit pas être considéré comme affectant la valeur d’une marque de fabrique ou de service.

La mention d’un produit particulier ou d’une marque ne doit pas être considérée comme un acte d’approbation.

Vous êtes vivement encouragé à faire une sauvegarde de votre système avant une installation importante, et à faire des sauvegardes à des intervalles réguliers.

1.3. Nouvelles versions

Le numéro de la dernière version de ce document peut être obtenu depuis la page internet des projets du groupe d’utilisateurs de Linux The Northants LUG, UK Project Pages (http://www.northants.lug.org.uk/projects/xdm-mini/).

1.4. Remerciements

Mes remerciements vont aux personnes suivantes, pour leur aide sur le fond et la relecture approfondie de ce document.

Scot W Stevenson, pour le mini-howto original sur les terminaux X, le X Terminal Mini-Howto de 1995, duquel ont été tirées certaines informations pour la section sur la configuration avancée de xdm-config.

Les membres du groupe d’utilisateurs de Linux The Northants LUG (Grande Bretagne), pour la relecture approfondie de ce document.

Les auteurs des pages de manuel de XDM et Xserver, et des scripts fournis avec XDM.

Tous ceux qui ont commenté les versions précédentes, à savoir Neil Zanella, Rafael Herrera, Paul Hornshaw, Clive Jones, Robert de Geus, Alex Schenkman, Richard Kaszeta, Malcolm Herbet

1.5. Réactions

Vos réactions sur ce document sont absolument les bienvenues. Sans vos soumissions et vos contributions, ce document n’aurait jamais existé. Envoyez s’il vous plaît vos ajouts, commentaires et critiques à cette adresse électronique :

<xdm-mini@northants.lug.org.uk>.

1.6. A faire

Je devrais probablement donner des détails sur les sujets suivants :

• problèmes de débogage avec XDM ;

• alternatives à XDM - par exemple KDM et GDM ;

• intégration avec d’autres systèmes Unix et Windows ;

• FAQs et erreurs fréquentes.

D’autres offres ?

2. Concepts de base

2.1. Contenu du document

Ce document décrit les concepts de base concernant l’utilisation de XDM (X Display Manager - gestionnaire d’écrans X) pour gérer des terminaux X et des serveurs X, afin de permettre une informatique de « clients légers » en utilisant Linux.

X (ou « X Window System ») est l’environnement graphique fenêtré de choix pour les systèmes Unix. Sa grande force (et ce détail qui nous intéresse pour ce document) est qu’il sépare les applications en fonctionnement (navigateur internet, traitement de textes, etc.) des écrans graphiques et périphériques d’entrée effectifs (souris, clavier, etc.) par un mécanisme de communication réseau.

En fait, cela veut dire que vous pouvez faire tourner une application sur une machine, et avoir ses entrées et sorties redirigées sur une autre machine au travers d’un réseau. C’est le principe clé qui rend possibles les terminaux X.

Ce document ne traite pas de l’installation ou de la configuration d’un réseau ou de X sous Linux. Reportez-vous aux documents HOWTO du projet de documentation Linux appropriés pour de plus amples détails (cf. Section 7).

Ce document doit être vu comme une « prise en main de XDM », en ce qu’il décrit les termes et les concepts de base pour utiliser XDM et les terminaux X, avec des exemples simples qui procurent le minimum de sécurité.

Il est recommandé au lecteur de consulter la liste de ressources fournie à la fin de ce document afin de continuer au-delà de ces renseignements de base - en particulier la configuration des paramètres d’authentification et de sécurité doit être étudiée, car les exemples donnés dans ce document utilisent les modes d’exploitation les moins sécurisés.

NB : les données de ce document ont été obtenues à partir de systèmes faisant tourner les distributions Debian 2.1, SuSE 6.4, Mandrake 7.0 et RedHat 6.0.

Ce document n’essaie pas de décrire l’installation et la configuration de Linux comme terminal X. Voyez à ce sujet le Thin-Client HOWTO, fourni par le projet de documentation Linux, ainsi que le projet Linux Terminal Server (cf. Section 7).

2.2. A propos de ce document

Ce document est né de mon désir d’expérimenter Linux sur un PC 486, comme terminal X de ma machine Linux principale.

Après avoir lu les pages de manuels, les spécifications et les documents HOWTO disponibles, concernant XDM et les terminaux X, j’ai fini par ne plus savoir où XDM était supposé tourner, et par confondre les serveurs XDM avec les serveurs X et assimilés. Ainsi, après une soirée ou deux d’expérimentation, ce document est né.

Une fois la terminologie de base triée, la documentation de XDM et les fichiers d’exemples commentés deviennent très intéressants à lire. Je n’ai juste pu trouver nulle part une introduction simple aux concepts de base, qui me permette de débuter. En espérant que ce document pourra être une introduction appropriée pour quelqu’un dans une situation similaire à la mienne.

Oh, au cas où vous vous le demanderiez, un 486dx2/66 avec 16 Mo de mémoire vive fait un très bon terminal X !

3. XDM

3.1. Qu’est-ce que XDM ?

Dit simplement, XDM (X Display Manager - gestionnaire d’écrans X) peut être vu comme un remplacement graphique de l’invite de la ligne de commande « login ». En réalité, il peut vraiment faire beaucoup plus que cela.

Typiquement, il sera démarré par l’utilisateur « root » (ou par les scripts de démarrage du système) au lancement de la machine, et doit présenter à l’utilisateur une demande d’authentification (login) graphique. Il gérera ensuite les sessions X des utilisateurs après qu’ils se soient identifiés - c’est-à-dire qu’il lancera l’exécution de leur gestionnaire de fenêtres et d’applications.

Il peut être considéré comme une « simple demande d’authentification pour la machine locale », comme on peut le trouver installé par défaut par de nombreuses distributions Linux. Cependant, XDM peut également gérer des serveurs X distants et fournir des demandes d’authentification pour les terminaux X distants. En résumé, il n’est pas limité à la machine locale - il peut facilement gérer d’autres machines reliées par réseau.

XDM est un utilitaire largement configurable et ce document ne fera que « gratter le vernis » sur ce qui peut être fait. Ce document tente d’apporter assez d’informations pour configurer vos terminaux X et vos applications serveur pour les connecter entre eux. Le lecteur se reportera à Section 7 pour de plus amples informations sur les sujets abordés ici.

Une note à propos de la sécurité : X (dans sa configuration par défaut) et XDMCP ne sont pas particulièrement sécurisés. Je suppose que vous faîtes fonctionner X sur un réseau de confiance et que la sécurité n’est pas un problème. Pour avoir des détails sur la façon de renforcer la résistance de vos connexions X (et d’autres détails sur l’utilisation des possibilités réseau de X), voyez le Howto « Exécuter des applications X distantes », lequel fait également partie du projet de documentation Linux (cf. Section 7).

3.2. Qu’est-ce qu’un terminal X ?

Ce terme peut être utilisé pour des configurations très diverses, mais dans sa forme la plus simple, c’est une machine avec une connexion réseau, clavier, souris et écran, configurée pour faire tourner le système X Window connecté à un serveur d’applications situé quelque part sur le réseau.

Il y a plusieurs configurations de terminaux X avec différents niveaux de fonctionnalités, allant du terminal dépourvu de disque aux stations de travail X complètes.

3.3. Un peu de terminologie

Avant d’aller plus loin, je dois expliquer les termes que j’utiliserai tout au long de ce document. En parlant de X, il y a pas mal de confusion entre qui est serveur de services pour qui. C’est encore plus vrai quand on considère des sessions distribuées sur un réseau faisant appel à des terminaux X.

Terminal X dépourvu de disque

Il s’agit d’une machine sans disque dur local, qui accomplira son démarrage grâce à une EPROM (ou autres) qui utilise une connexion réseau avec un serveur. Cela veut dire obtenir du serveur la configuration réseau, le système d’exploitation, la configuration système et toutes les applications. Cependant, une fois démarré, il se comportera comme un « terminal X limité » (voir ci-dessous). Typiquement, cette configuration combinera les protocoles réseau suivants pour pouvoir se lancer : BOOTP, DHCP, TFTP, etc. Reportez-vous à Section 7 pour des références sur des documents qui détaillent la façon de construire des clients dépourvus de disque.

Terminal X limité

Il s’agit d’une machine qui démarre sur son disque local, lance un système d’exploitation et le programme serveur X, mais rien de plus. De cette façon, une invite d’authentification sera fournie sur la machine, pour permettre à l’utilisateur de s’identifier sur un « serveur d’applications » quelque part sur le réseau.

Station de travail X

Il s’agit d’une machine similaire au terminal X limité, mais qui fournira l’option de s’identifier sur la machine elle-même, et donc la possibilité de devenir une station de travail autonome (c’est-à-dire sans connectivité réseau) si nécessaire. La plupart des distributions peuvent être configurées directement comme une station de travail X autonome, avec une invite d’authentification graphique.

Serveur d’applications

Dans le contexte de ce document, j’utilise le terme de « serveur d’applications » pour décrire une machine qui fournit les applications (clients X) que notre terminal X veut exécuter. Il s’agit de toute application, des éditeurs aux navigateurs, en passant par le gestionnaire de fenêtres lui-même.

Serveur X

Il s’agit du programme qui contrôle l’affichage d’une machine disposant d’une console physique (écran, clavier, souris, etc.). Cela peut être vu comme un pilote pour une combinaison de carte graphique, clavier et souris. Il fournira ces moyens comme services à des clients X (d’où le terme de serveur) Reportez-vous au HOWTO de l’utilisateur X à Section 7 pour plus de détails.

Client X

Il s’agit d’une configuration qui nécessite l’utilisation d’un serveur X pour accepter des entrées (clavier et souris) et fournir un affichage (écran). Un client X ne peut produire d’affichage sans les services d’un serveur X. Le serveur X peut s’exécuter localement (sur la même machine) ou ailleurs sur le réseau.

Ainsi, suivant les descriptions ci-dessus, une station de travail X peut être vue comme un terminal X limité et un serveur d’applications tournant sur la même machine.

Ce document envisagera les architectures des différentes options données ci-dessus, et décrira le rôle que XDM peut jouer dans leur mise en place.

3.4. Que peut faire XDM ?

XDM est chargé de fournir aux utilisateurs une invite d’authentification et de lancer leur session X. Il peut gérer des sessions locales (c’est à dire pour les personnes utilisant une station de travail X) ou des sessions sur des machines distantes, au travers d’une connexion avec un serveur d’applications, depuis un terminal limité ou dépourvu de disque.

Il y a deux modes opératoires :

• requête depuis un serveur X ;

• serveur X géré par XDM.

3.4.1. Requête depuis un serveur X

Les communications entre XDM et le serveur X réel (la machine possédant physiquement écran/clavier/souris) sont contrôlées au travers de XDMCP, le X Display Manager Control Protocol (Protocole de contrôle du gestionnaire d’écran X).

Ceci permet aux serveurs X d’envoyer des requêtes aux serveurs exécutant XDM. En fait, le serveur X doit dire « J’ai quelqu’un qui veut s’authentifier - donnez moi s’il vous plaît une invite d’authentification ». Dans ce mode opératoire, XDM ne fera rien tant que ça ne lui aura pas été demandé par votre serveur X.

La requête du serveur X peut prendre une de ces trois formes :

• requête directe : le serveur X contacte un hôte donné, demandant à ce que le serveur lui présente une invite d’authentification sur son écran ;

• diffusion : le serveur X diffuse un message sur le réseau, et le premier serveur faisant tourner XDM qui répond à cette diffusion sera celui qui présentera une invite d’authentification sur son écran ;

• requête indirecte : le serveur X contacte un hôte donné, mais il lui demande quels autres hôtes il connaît sur le réseau. Cet hôte donné présentera alors à l’utilisateur une liste d’hôtes dans laquelle il devra choisir, puis initialisera la communication avec l’hôte sélectionné, lequel présentera une invite d’authentification sur l’écran du serveur X.

Il y a plusieurs autres options, mais elles ne seront pas décrites ici - référez-vous à la documentation de XDM et de XDMCP citée dans la Section 7 pour de plus amples détails.

3.4.2. Serveur X géré par XDM

Si vous avez plusieurs machines (par exemple des terminaux X limités ou dépourvus de disque), qui ne font que faire tourner un serveur X, tous destinés à fournir une invite d’authentification pour un seul serveur d’application, alors il est possible de configurer XDM sur le serveur d’applications afin qu’il se connecte en retour avec chaque serveur X et qu’il présente son invite d’authentification automatiquement sur chaque écran.

Dans ce mode opératoire, XDM sortira d’initiative une invite d’authentification pour tous les server X de sa connaissance, sans attendre une requête de leur part.

Dans ce cas, le fichier de configuration Xservers liste chaque machine (y compris l’écran local, si nécessaire) auxquelles XDM doit se connecter pour afficher son invite d’authentification.

Cette configuration, quand elle est utilisée sans serveur X distant, est la configuration typique utilisée pour une station de travail X, de façon à offrir à l’utilisateur une invite d’authentification graphique sur la machine locale sur laquelle il doit travailler. Comme dit plus haut, la plupart des distributions permettent immédiatement cette configuration, de façon à présenter à l’utilisateur une invite d’authentification graphique.

Note : XDM doit avoir l’autorisation de se connecter aux serveurs X en question - aussi les contrôles d’accès sur les serveurs X doivent être configurés en conséquence.

4. 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 Section 7 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 »).

4.1. 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.).

4.2. 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.

4.3. 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. Section 7 pour des liens sur plus d’informations).

4.4. 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.

4.5. 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).

5. Options de configuration avancée

5.1. Configuration d’ensembles

Le fichier xdm-config fournit un riche ensemble d’options, s’agissant des scripts définis et des autres fichiers de configuration. Dans la plupart des cas, ce qui a été fourni par défaut avec votre distribution devrait être suffisant, mais pour ceux d’entre vous qui en veulent plus...

Les noms des scripts de démarrage et des fichiers de configuration utilisés par XDM sont déterminés par une série d’entrées dans le fichier de plus haut niveau, xdm-config. Cela vous permet de configurer des ensembles différents de fichiers pour des serveurs et des terminaux X différents, avec des possibilités différentes.

Par exemple, disons que vous utilisez XDM pour gérer votre affichage local, mais vous voulez également qu’il accepte des requêtes d’autres terminaux X du réseau. Il est possible de spécifier un fichier Xresources différent pour chacun des cas, en utilisant les deux lignes suivantes dans xdm-config :

  DisplayManager._0.resources  /etc/X11/xdm/Xres_0
  DisplayManager*resources      /etc/X11/xdm/Xresources

Xres_0 sera utilisé pour l’affichage local (_0 est la façon pour XDM de dire :0) et Xresources pour tous les autres (le « * »).

Notez que les fichiers de configuration de XDM utilisent la terminologie hôte_0, où nous dirions habituellement hôte:0, pour désigner « écran 0 sur Hôte ».

D’une façon similaire, si vous voulez un fichier de ressources particulier pour un hôte spécifique, vous devez utiliser une entrée comme suit :

  DisplayManager.host_0.resources        /etc/X11/xdm/Xres_host_0

Si vous regardez votre fichier xdm-config par défaut, vous verrez probablement qu’il a été configuré pour que des fichiers différents soient utilisés pour votre serveur X local et les serveurs distants, car des choses différentes doivent être faites au démarrage et à la réinitialisation de ces serveurs. Le fichier sur ma Debian contient les entrées suivantes pour le serveur local :

  DisplayManager._0.resources:     /etc/X11/xdm/Xresources_0
  DisplayManager._0.setup:         /etc/X11/xdm/Xsetup_0
  DisplayManager._0.startup:       /etc/X11/xdm/Xstartup_0
  DisplayManager._0.reset:         /etc/X11/xdm/Xreset_0

et les entrées suivantes pour les serveurs distants :

  DisplayManager*resources:        /etc/X11/xdm/Xresources
  DisplayManager*setup:             /etc/X11/xdm/Xsetup
  DisplayManager*startup:          /etc/X11/xdm/Xstartup
  DisplayManager*reset:             /etc/X11/xdm/Xreset

5.2. Ressources X

Ce document n’a abordé que brièvement les ressources X disponibles, mais je dois mentionner qu’il est possible de configurer complètement XDM avec le fichier Xresources.

Si nécessaire, vous pouvez modifier :

• les polices de caractères, la taille de l’invite d’authentification ;

• le fond d’écran ;

• le titre des fenêtres, etc.

Vous trouverez des explications plus détaillées au sujet des ressouces de XDM sur le site internet de Richard Kaszeta (cf. Section 7).

6. Configurations courantes

6.1. Linux vers Linux

6.1.1. Station de travail X autonome

Cela a déjà été mentionné plusieurs fois dans ce document, mais rappelons qu’il s’agit d’une machine faisant fonctionner XDM, avec une entrée unique dans le fichier Xservers relative à l’hôte local « localhost » (c’est à dire à la machine présente).

6.1.2. Terminal X et serveur d’applications

XDM tourne sur le serveur d’applications :

• Xservers : ne contient aucune entrée.

• Xaccess : doit permettre au terminal X de se connecter.

Le terminal X exécute X en utilisant une requête directe au serveur d’applications :

           /usr/X11R6/bin/X -query le.serveur.d.applications

6.1.3. Groupe de terminaux X gérés

XDM fonctionne sur le serveur d’applications :

• Xservers : contient chaque terminal devant être géré.

• Xaccess : doit permettre à chacun des terminaux de se connecter.

Chaque terminal X ne fait qu’exécuter X avec les contrôles d’accès adéquats pour permettre à XDM de se connecter à lui.

           /usr/X11R6/bin/X -ac

6.2. Linux vers d’autres systèmes

Il est possible d’utiliser un terminal X Linux pour se connecter à un autre système exécutant XDM. Les mêmes principes s’appliquent, mais la configuration de XDM (ou de son équivalent) sera spécifique à ce système.

6.2.1. Linux vers Solaris

Vous pouvez faire tourner X sur une machine Linux, et lui demander de contacter une machine Solaris de la même façon :

           /usr/X11R6/bin/X -query le.serveur.Solaris

Notez que vous pouvez configurer X sur la machine Linux pour qu’il utilise un serveur de police de caractères sur la machine Solaris. Je n’y suis pas encore arrivé, car je n’ai pas de machine Solaris que je puisse contrôler - mais il m’a été rapporté qu’une entrée comme celle-ci dans /etc/XF86config fonctionne (Attention ! Ceci demande à être vérifié) :

             tcp/solaris.box:7200

6.3. D’autres systèmes vers Linux

Si vous avez un serveur X pour cet autre système, il devrait pouvoir se connecter à un serveur XDM Linux.

6.3.1. Solaris vers Linux

Je présume que vous faîtes fonctionner XDM sur la machine Linux comme d’ordinaire, et que vous configurez Solaris de façon à ce qu’il questionne la machine Linux - quelqu’un a-t-il des informations à ce sujet ?

6.3.2. Windows vers Linux

Si vous disposez d’un serveur X pour Windows qui supporte les requêtes XDMCP, alors il devrait être possible de le configurer de façon à ce qu’il questionne la machine Linux. Vous devriez uniquement faire tourner XDM, comme d’habitude, sur la machine Linux - quelqu’un a-t-il, de nouveau, des informations là-dessus ?

7. Ressources

Cette section contient quelques ressources consultées pour rédiger ce document et qui fournissent d’autres informations sur les concepts décrits. Plusieurs des références citées ci-dessous font partie du projet de documentation Linux (LDP) : http://www.linuxdoc.org/

Le X Window System - Système de fenêtrage X

• X User HOWTO, relatif à l’utilisation de X (du LDP (http://www.linuxdoc.org/))

• Running Remote X Applications Mini-Howto, relatif à l’exécution d’applications X distantes (du LDP (http://www.linuxdoc.org/))

• Pages de manuel : X (concepts principaux), Xserver (concepts sur les serveurs X)

• FAQ de X (cf. http://www.x.org/)

Clients légers / Terminaux X

• Thin-client HOWTO, relatif aux clients légers (du LDP (http://www.linuxdoc.org/))

• Projet Linux Terminal Server : http://www.ltsp.org/

• Diskless HOWTO, relatif aux terminaux dépourvus de disques (du LDP (http://www.linuxdoc.org/))

• Les pages sur les terminaux X : http://dns.solucorp.qc.ca/xterminals

XDM et les terminaux X, mini-HOWTO

• Transformer de vieux PC en terminaux X autonomes, de Richard Kaszeta :

http://www.menet.umn.edu/~kaszeta/unix/xterminal/ (http://www.menet.umn.edu/~kaszeta/unix/xterminal/) XDM, XDMCP, etc.

• Pages de manuel : xdm

• XDMCP Howto (du LDP (http://www.linuxdoc.org/))

XDM et les terminaux X, mini-HOWTO 18