XDM et les terminaux X, mini-HOWTO
Kevin
Taylor
kevin@northants.lug.org.uk
SylvainAmrani
pour la traduction française
traduc@amrani.com.fr
v0.05
14 novembre 2000
kt
Ajout de références à d'autres Howtos
v0.04
6 novembre 2000
kt
Mises à jour suite à la première publication.
v0.03
3 juillet 2000
kt
Mises à jour mineures suite aux premiers commentaires
v0.02
28 juin 2000
kt
Premier brouillon de source SGML d'après le source HTML
v0.01
27 juin 2000
kt
Premier brouillon de source HTML
Présentation
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. ).
Introduction
disk!introduction
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
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.
Nouvelles versions
(your index root)!nouveautés
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
.
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
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.
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 ?
Concepts de base
disk!basics
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. ).
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. ).
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 !
XDM
disk!xdm
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 à 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. ).
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.
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 à
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 à
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.
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.
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
pour de plus amples détails.
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.
Configurer XDM
disk!config
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
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. 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).
Options de configuration avancée
disk!advanced
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
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. ).
Configurations courantes
disk!advanced
Linux vers Linux
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).
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
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
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.
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
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.
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 ?
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 ?
Ressources
disk!resources
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)
Running Remote X Applications Mini-Howto, relatif à l'exécution
d'applications X distantes (du LDP)
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)
Projet Linux Terminal Server :
http://www.ltsp.org/
Diskless HOWTO, relatif aux terminaux dépourvus de disques (du
LDP)
Les pages sur les terminaux X :
http://dns.solucorp.qc.ca/xterminals
Transformer de vieux PC en terminaux X autonomes, de Richard Kaszeta :
http://www.menet.umn.edu/~kaszeta/unix/xterminal/
XDM, XDMCP, etc.
Pages de manuel : xdm
XDMCP Howto (du
LDP)