Le Serveur X
État :
Sommaire
Pré-requis
- Aucun
Objectifs
- Connaître les différents composants de le l'environnement "XWindow"
- Comprendre les fonctions de chaque fichier de configuration (l'édition des fichiers n'est pas nécessaire)
- Lancer des applications sur différents écrans
- Comprendre la fonction du gestionnaire d'affichage, y compris XDMCP
Introduction
Le système X Window était à l'origine le composant d'affichage graphique du projet Athena développé au MIT (Massachusetts Institute of Technology). C'est l'environnement graphique des systèmes UNIX. La version Linux du système X Window est basée sur l'adaptation libre de X Window version 11 révision 6 que l'on appelle couramment X11R6.
On appelle l'adaptation libre xfree86 pour les systèmes 80386/80486 et suivants. Depuis Xfree86 a été adapté sur d'autres plate-formes comme System V/386 et 386BSD.
Illustration : Composants de X11R6 et sections de configuration
L'image précédente nous montre les différents composants du serveur X11R6. Le mot Section se réfère aux parties du fichier de configuration XF86Config que nous verrons plus loin.
Le deux clients représentés au dessus du serveur sont typiquement deux applications x comme x-term ou xclock. Le gestionnaire d'affichage (wm ou window manager) est également un client. Les gestionnaires d'affichage permettent de gérer les applications x comme des fenêtres : déplacement, sélection, réduction (iconification), etc.
Remarque
La configuration du serveur X11R6 est indépendante des clients du serveur. On configure les clients dans des fichiers de configuration spécifiques ou dans des fichiers globaux comme Xdefaults ou Xresources. La configuration du serveur contient uniquement ce qui touche au serveur de polices et les répertoires contenant les polices, à la souris, au clavier, aux résolutions prises en charge par le moniteur et à la profondeur des couleurs.
Configuration de X11R6
Xfree86 fourni en standard deux outils de configuration : XF86Setup et xf86config. D'autres éditeurs proposent leur outils spécifiques comme :
Xconfigurator, redhat-config-xfree86 (RedHat)
- XFdrake (Mandrake)
- sax (Suse)
Une fois le serveur configuré, on peut changer les paramètres horizontaux et verticaux du moniteur avec xvidtune.
Tous les outils que nous venons de mentionner créent et modifient le fichier de configuration XF86Config. Le serveur X lit ce fichier au démarrage, ce qui détermine son comportement. Il se situe généralement dans /etc/X11/XF86Config.
Il y a 11 sections de configuration dans ce fichier :
- Module
- Device
- Monitor
- Modes
- Screen
- DRI
- Vendor
Remarque
Les noms de sections Keyboard et Pointer sont obsolètes mais sont encore reconnues pour des raisons de compatibilité. Elles ont été remplacées par les sections InputDevice.
L'une des premières section est la Section Files. Le mot clé FontPath indique s'il faut récupérer les polices à partir d'un répertoire local ou d'un serveur de polices. Le mot clé RgbPath est utilisé pour indiquer le chemin absolu vers le fichier rgb utilisé pour faire le lien entre les noms de couleurs et la notation RGB :
Section “Files” FontPath “/chemi/vers/repertoire/des/polices/” FontPath “trans/hote:port” RgbPath "/chemin/vers/rgb" EndSection
Où trans est le type de transport unix, hôte est le nom de domaine pleinement qualifié du serveur de polices, et port est le port de connexion, généralement 7100.
Exemple :
FontPath “unix/:7100” # Serveur de police local FontPath “unix/myfontserver.mydomain.com:7100”
Voici un exemple de fichier XF86Config :
Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled,/usr/X11R6/lib/X11/fonts/75dpi:unscaled,/usr/X11R6/lib/X11/fonts/100dpi:unscaled,/usr/X11R6/lib/X11/fonts/misc/" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/psaux" Option "ZAxisMapping" "4 5" EndSection Section "Monitor" Identifier "Primary Monitor" VendorName "Unknown" ModelName "Unknown" HorizSync 31.5-37.9 VertRefresh 55-90 Modeline "800x600" 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync EndSection Section "Device" Identifier "Primary Card" VendorName "Unknown" BoardName "None" VideoRam 2048 EndSection Section "Screen" Driver "Accel" Device "Primary Card" Monitor "Primary Monitor" DefaultColorDepth 24 BlankTime 0 SuspendTime 0 OffTime 0 SubSection "Display" Depth 24 Modes "800x600" EndSubSection SubSection "Display" Depth 32 Modes "800x600"
Contrôle des clients X
Paramétrage des polices et des couleurs
Les clients X sont configurés via les fichiers .Xresources et .Xdefaults, situés dans les répertoires utilisateurs. Ils ne sont pas automatiquement créés, puisque des paramètres système par défaut sont également disponibles pour chaque programme.
Voici un extrait d'un .Xresources :
xterm_color*background: Black xterm_color*foreground: Wheat xterm_color*cursorColor: Orchid xterm_color*reverseVideo: false xterm_color*scrollBar: true xterm_color*saveLines: 5000 xterm_color*reverseWrap: true xterm_color*font: fixed xterm_color.geometry: 80x25+20+20 xterm_color*fullCursor: true xterm_color*scrollTtyOutput: off xterm_color*scrollKey: on xterm_color*VT100.Translations: #override\n\ <KeyPress>Prior : scroll-back(1,page)\n\ <KeyPress>Next : scroll-forw(1,page) xterm_color*titleBar: false
Chacune de ces directives décrit comment un client est affiché. Chaque ligne est composée du nom du client suivi d'un astérisque et du paramètre X Window. Les utilisateurs peuvent donc personnaliser l'affichage des clients en configurant (avec attention) ce fichier.
La variable DISPLAY
Lorsqu'on lance une application (ou un client) X, il ou elle a besoin de savoir sur quel serveur il est lancé. Un serveur X est référencé comme un "display" (affichage). Par exemple, le premier serveur X que vous démarrez (disons avec startx) est appelé :0, le second serait :1 et ainsi de suite. Le premier serveur X (ou display) sur l'hôte 192.168.1.99 est appelé 192.168.1.99:0.
La plupart des clients X natifs comme xterm ou xclock disposent d'une option -display que l'on peut utiliser pour définir le serveur souhaité. Mais la méthode la plus simple est de définir la variable d'environnement DISPLAY.
Les deux commandes suivantes sont équivalentes :
xclock -display 192.168.1.99:0 DISPLAY=192.168.1.99:0 xclock
Cependant, le serveur X de l'hôte 192.168.1.99 n'autorisera pas le lancement de cette application tant que l'utilisateur qui a lancé le serveur X sur 192.168.1.99 ne l'aura pas explicitement autorisé en utilisant la commande xhost. Cette commande ajoute ou supprime des hôtes d'une liste de contrôle d'accès (ACL).
Exemple : Autoriser les clients X à partir de 192.168.1.7 de s'exécuter sur le serveur local
xhost + 192.168.1.7 192.168.1.7 being added to access control list
Remarque
xhost doit être utilisé avec xauth (qui n'est pas au programme de l'examen). Pour lancer un client de 192.168.1.7 sur notre serveur local, il nous faut encore taper les commandes suivantes sur le serveur :
xauth extract - $DISPLAY | ssh 192.168.1.7 xauth merge -
(En assumant que les noms d'utilisateurs sont les mêmes et que le nom d'hôte de la variable $DISPLAY peut être résolu).
Lancement du serveur X
On peut démarrer une session X à partir des deux méthodes suivantes :
En ligne de commande, une fois connecté sur la console, l'utilisateur lance le serveur X en tapant startx
Le système utilise un gestionnaire d'affichage, qui demande à l'utilisateur son nom d'utilisateur et son mot de passe. Cette méthode est généralement disponible pour un niveau d'exécution spécifique (sur les distributions de la famille RedHat, c'est le niveau d'exécution 5).
À partir de la ligne de commande
Le script startx lance xinit. Le script xinit prend eux rpincipaux paramètres (a) le serveur X et (b) le script xinitrc. Le script xinitrc lit (NdT : au sens de "source", man bash) les fichiers Xresources (qui contrôlent les applications X) et Xclients (choix du gestionnaire de fenêtres). La séquence de démarrage est donc la suivante :
startx --> xinit --> X -> xinitrc -> Xclients
En utilisant un gestionnaire d'affichage
Dans ce cas, le gestionnaire d'affichage est automatiquement lancé à un certain niveau d'exécution (5 pour RedHat). Nous allons tout d'abord décrire le processus de connexion, nous verrons les fonctionnalités plus avancées des gestionnaires d'affichage ensuite. Le processus de connexion se déroule selon les étapes suivantes :
xdm --> xlogin --> Xsession --> (facultatif) Xclients ou ~/.Xclients
Les différentes versions de gestionnaires d'affichage ainsi que les différentes distributions Linux peuvent suivre des étapes légèrement différentes. Vous noterez cependant, qu'en général, startx utilise xinit alors que xdm utilise Xsession.
Personnalisation
Chaque utilisateur peut personnaliser son environnement en utilisant un fichier .xinitrc. Ce fichier est fusionné avec le fichier système xinitrc.
La commande switchdesk permet aux utilisateurs de se créer un fichier .Xclients personnalisé
Le gestionnaire d'affichage (display manager)
Les 3 principaux gestionnaires d'affichage sont xdm (génrique), gdm (GNOME) et kdm (KDE). D'après les objectifs des LPI, les fichiers de configurations se trouvent dans les répertoires suivants :
/etc/X11/xdm/
/etc/X11/gdm/
/etc/X11/kdm/ (voir le programme du LPI 101 (NdT : le serveur X est désormais au programme de l'examen 102)
Cependant, il est plus courant de trouver les fichiers de configuration pour kdm dans /usr/share/config/kdm (nous le voyons juste ci-dessous).
KDM
Ce gestionnaire d'affichage est installé avec l'environnement KDE. Il est basé sur le gestionnaire d'affichage générique xdm avec lequel il partage plusieurs fichiers de configuration. On retrouve ces fichiers de configuration dans /usr/share/config/kdm. Le fichier de configuration le plus important est kdmrc.
Le chemin d'accès au binaire est /usr/bin/kdm.
Fichiers de configuration pour KDM :
kdmrc
Xaccess (comme pour xdm)
Xservers (comme pour xdm)
Xsession (comme pour xdm)
Xsetup
Xstartup
GDM
Ce gestionnaire d'affichage est distribué avec l'environnement de bureau GNOME. Le fichier de configuration principal est gdm.conf.
Le chemin d'accès au binaire est /usr/bin/gdm.
Fichiers de configuration de GDM (/etc/X11/gdm) :
Sessions/
gdm.conf
XDM
Le gestionnaire d'affichage xdm fait partir de l'application Xfree86. Le fichier de configuration principal est xdm-config.
Le chemin d'accès au binaire est /usr/bin/xdm.
Fichiers de configuration de XDM :
Xaccess
Xresources
Xsession
xdm-config
Xservers
Nous verrons les fichiers de configuration de xdm plus en détail un peu plus loin.
En général, les gestionnaires d'affichages sont utilisés dans le niveau d'exécution 5 (NdT : pour les distributions de la famille RedHat)
Pour paramétrer le niveau d'exécution par défaut sur 5 dans /etc/inittab :
id:5:initdefault:
Les gestionnaires d'affichage permettent aux utilisateurs locaux de se connecter sur le système à partir d'une interface graphique. Mais on peut également les utiliser pour des connexions graphiques sur le réseau. Pour ce faire, ils utilisent le protocole XDMCP (X Display Manager Control Protocol). Par défaut, XDMCP est désactivé (nous l'activerons dans un exercice).
Le serveur X et le gestionnaire d'affichage
Fichiers de configuration
/etc/X11/xdm/Xrescources : Le gestionnaire d'affichage étant également un client x, les polices, la couleur d'arrière plan et xlogin peuvent être configurés avec le fichier Xrescources que l'on trouve dans /etc/X11/xdm/. Lorsqu'on utilise gdm, le script /etc/X11/gdm/Init/Default lit (au sens de source) Xresources.
/etc/X11/xdm/Xservers : Ce fichier se contente de faire la relation entre un affichage (display) et un serveur X. Par exemple, l'affichage (display) :0 est interprété comme étant le serveur X local. Souvenez vous que X se lance toujours sur le premier /dev/tty libre.
/etc/X11/xdm/xdm-config : C'est le fichier de configuration principal de xdm. On l'utilise aussi pour activer XDMCP (voir les exercices)
/etc/X11/xdm/Xaccess : On utilise ce fichier pour activer XDMCP, ce qui permet aux hôtes distants de se connecter au serveur X local. Avec -query, recherche les autres serveurs (NdT : à revoir et vérifier).
Le fichier Xaccess
The Xaccess file # $XConsortium: Xaccess,v 1.5 91/08/26 11:52:51 rws Exp $ # # Access control file for XDMCP connections # To control Direct and Broadcast access: # # pattern # # To control Indirect queries: # # pattern list of hostnames and/or macros ... # # To use the chooser: # # pattern CHOOSER BROADCAST # # or # # pattern CHOOSER list of hostnames and/or macros ... # # To define macros: # # %name list of hosts ... # # The first form tells xdm which displays to respond to itself. # The second form tells xdm to forward indirect queries from hosts matching # the specified pattern to the indicated list of hosts. # The third form tells xdm to handle indirect queries using the chooser; # the chooser is directed to send its own queries out via the broadcast # address and display the results on the terminal. # The fourth form is similar to the third, except instead of using the # broadcast address, it sends DirectQuerys to each of the hosts in the list # # In all cases, xdm uses the first entry which matches the terminal; # for IndirectQuery messages only entries with right hand sides can # match, for Direct and Broadcast Query messages, only entries without # right hand sides can match. # * #any host can get a login window # # To hardwire a specific terminal to a specific host, you can # leave the terminal sending indirect queries to this host, and # use an entry of the form: # #terminal-a host-a # The nicest way to run the chooser is to just ask it to broadcast # requests to the network - that way new hosts show up automatically. # Sometimes, however, the chooser can't figure out how to broadcast, # so this may not work in all environments. # * CHOOSER BROADCAST #any indirect host can get a chooser # If you'd prefer to configure the set of hosts each terminal sees, # then just uncomment these lines (and comment the CHOOSER line above) # and edit the %hostlist line as appropriate # #%hostlist host-a host-b #* CHOOSER %hostlist #
Le fichier Xervers
# $XConsortium: Xserv.ws.cpp,v 1.3 93/09/28 14:30:30 gildea Exp $ # # # $XFree86: xc/programs/xdm/config/Xserv.ws.cpp,v 1.1.1.1.12.2 1998/10/04 15:23:14 hohndel Exp $ # # Xservers file, workstation prototype # # This file should contain an entry to start the server on the # local display; if you have more than one display (not screen), # you can add entries to the list (one per line). If you also # have some X terminals connected which do not support XDMCP, # you can add them here as well. Each X terminal line should # look like: # XTerminalName:0 foreign # :0 local /usr/X11R6/bin/X
Un fichier Xrescources
Le gestionnaire d'affichage étant lui-même un client x, le fichier Xressources est similaire au fichier .Xressources à l'execpetion qu'il contrôle l'affichage de l'écran de connexion.
! $XConsortium: Xresources /main/8 1996/11/11 09:24:46 swick $ xlogin*borderWidth: 3 xlogin*greeting: CLIENTHOST xlogin*namePrompt: login:\040 xlogin*fail: Login incorrect #ifdef COLOR xlogin*greetColor: CadetBlue xlogin*failColor: red *Foreground: black *Background: #fffff0 #else xlogin*Foreground: black xlogin*Background: white #endif XConsole.text.geometry: 480x130 XConsole.verbose: true XConsole*iconic: true XConsole*font: fixed
Un fichier xdm-config
! $XFree86: xc/programs/xdm/config/xdm-conf.cpp,v 1.1.1.2.4.2 1999/10/12 18:33:29 hohndel Exp $ ! DisplayManager.servers: /etc/X11/xdm/Xservers DisplayManager.accessFile: /etc/X11/xdm/Xaccess ! All displays should use authorization, but we cannot be sure ! X terminals will be configured that way, so by default ! use authorization only for local displays :0, :1, etc. DisplayManager._0.authorize: true DisplayManager._1.authorize: true ! DisplayManager*resources: /etc/X11/xdm/Xresources DisplayManager*session: /etc/X11/xdm/Xsession DisplayManager*authComplain: false ! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0
Dépannage les clients X
Il arrive que les clients X ne se ferment pas correctement et laissent des processus zombies. Un processus est dit zombie quand son parent s'est terminé et qu'il ne peut plus effacer les références au processus fils. On peut voir lorsque un processus père s'est fermé sans fermer le processus fils, en lançant la commande ps qui révèle que le processus fils appartient au PID 1 (init). Il faut tuer ces processus parce qu'ils consomment des ressources. Seul l'utilisateur qui a lancé le processus ou le root peuvent le tuer et il peut être nécessaire d'utiliser le signal -9 pour tuer ce type de processus.
Choix d'un gestionnaire de fenêtres
Dans le monde X Window, le bureau est généralement appelé l'écran. Il couvre complètement la zone d'affichage de votre moniteur. La fenêtre principale est le fond d'écran, typiquement utilisé pour afficher une couleur d'arrière plan ou une image. Le gestionnaire de fenêtres fourni une interface entre l'utilisateur et le serveur X. Il est presque impossible d'utiliser X sans gestionnaire de fenêtres, puisqu'il fournit la barre de titre et l'ensemble des boutons avec les quels vous manipules votre écran.
Le site http://xwinman.org regroupe des informations sur les gestionnaires de fenêtres. De nombreuses versions de ces gestionnaires de fenêtres sont disponibles sur ftp://metalab.unc.edu/pub/Linux/X11/window-managers (NdT : et notamment dans vos distributions GNU/Linux).
Voici une liste de gestionnaires de fenêtres :
- Enlightenment
- fvwm
- icewm
- amiWM
- mlvwm
- dfm
- olwm
- olvwm
- mwm
- Window Maker
Résumé et exercices
Questions de révision
Oui ou Non
Le fichier de configuration du gestionnaire de fenêtres est XF86Config : _
Un client x peut être configuré pour être lancé sur n'importe quel serveur X accessible sur le réseau : _
Le gestionnaire d'affichage est un programme qui gère l'affichage des pixels de votre interface graphique : _
Un utilisateur qui a lancé un serveur X peut désactiver le contrôle d'accès avec la commande xhost : _
Le protocole XDMCP est utilisé par les gestionnaires d'affichage pour afficher l'écran de connexion sur des hôtes distants : _
Sur un système qui n'utilise pas de gestionnaire d'affichage, on lance généralement l'interface graphique avec la commande xinit : _
Glossaire
Terme |
Description |
DISPLAY |
variable d'environnement du shell utilisée pour indiquer aux clients X sur quel affichage (display), donc quel serveur X elles sont lancées |
XDMCP |
protocole fournissant un mécanisme standard permettant à un terminal de se connecter sur un serveur X distant |
niveau d'exécution (runlevel) |
configuration système qui permet de ne lancer qu'un groupe de processus - voir init (8) |
client x ou application x |
dans ce cours, on utilise ces termes pour les applications comme xterm ou xclock qui fonctionnent dans un environnement X |
environnement de bureau |
suite de programme comprenant un gestionnaire de fenêtre conçue à l'origine pour utiliser l'écran comme un 'bureau". Ces applications intégrées offrent généralement des fonctionnalités comme les copier/coller, couper/coller, glisser/déposer, etc. Par exemple, XFCE, GNOME et KDE sont des environnements de bureau. |
gestionnaire d'affichage |
application X lancée à un niveau d'exécution spécifique (5 dans le monde RedHat) affichant un écran de connexion graphique. Les gestionnaires d'affichage gèrent également le protocole XDMCP. Les gestionnaires d'affichage les plus courants sont xdm (générique, fourni avec X11R6), gdm (qui fait partie de la suite GNOME), et kdm (qui fait partie de la suite KDE) |
gestionnaire de fenêtres |
application X qui permet de déplacer, redimmensionner et "iconifier" les fenêtres. Certains gestionnaires de fenêtres proposent aussi une barre de tâches ainsi que des menus déroulants pour le lancement des applications. twm, fluxbox, icewm etc. sont des gestionnaires de fenêtre |
gestionnaire de session |
application qui permet d'enregistrer la session graphique lorsque l'utilisateur se déconnecte |
Fichier de configuration de X11
Fichier |
Description |
XF86Config |
fichier de configuration du serveur X11R6 |
Fichiers de configuration des gestionnaires d'affichage
Fichier |
Description |
gdm.conf |
fichier de configuration de gdm |
kdmrc |
fichier de configuration de kdm |
Xaccess |
un des fichiers utilisé pour autoriser / interdire les accès XDMCP |
xdm-config |
fichier de configuration principal pour xdm |
Xrescources |
fichier permettant de personnaliser les gestionnaires d'affichage |
Xservers |
configure le nombre de gestionnaires d'affichage à lancer sur le système. Le fichier relie un "display" (:0 par défaut) à un serveur (en général X11R6) |
Xsession |
script utilisé par les gestionnaires d'affichage pour lancer un environnement graphique spécifique |
Xclients |
script utilisé par Xsession ainsi que xdm pour lancer le gestionnaire de fenêtre système |
Fichiers de personnalisation
Fichier |
Description |
~/.Xresources ~/.Xdefaults |
fichiers utilisés pour personnaliser l'affichage des applications X (position, taille de police, couleur, etc.) |
~/.xinitrc |
fichier utilisé par startx dans lequel l'utilisateur peut préciser le gestionnaire de fenêtre ou l'environnement de bureau à lancer |
~/.Xclients |
fichier utilisé par les gestionnaires d'affichage dans lequel l'utilisateur peut préciser le gestionnaire de fenêtre ou l'environnement de bureau à lancer |
Commandes
Commande |
Description (apropos) |
gdm |
gdm(1) -GDM se substitue à XDM. Contrairement à ses concurrents (X3DM, KDM, WDM), GDM a été écrit à partir de zéro et ne contient aucune ligne de code de XDM. GDM lance et gère les serveurs X, qu'il soient locaux ou distants (avec XDMCP) |
kdm |
gestionnaire d'affichage fourni avec l'environnement de bureau KDE. Il utilise de nombreux fichiers de configuration de xdm |
startx |
script qui appelle xinit et lance un serveur X avec le gestionnaire de fenêtre et le bureau |
xauth |
(ne fait pas partie des objectifs LPI) xauth(1) - Le programme xauth permet d'éditer les informations d'autorisation utilisées à la connexion au serveur X. Normalement, xauth n'est pas utilisé pour créer le fichier d'autorisation, c'est xdm qui s'en charge. Pour de plus amples informations, consultez pam_xauth(8) |
xdm |
X Display Manager, gestionnaire d'affichage faisant partie du serveur X |
xf86config |
script de configuration du serveur X : crée le fichier XF86Config |
XF86Setup |
programme qui crée ou modifie le fichier XF86Config |
xhost |
xhost(1) - la commande xhost est utilisée pour ajouter ou supprimer des noms d'utilisateurs ou des noms d'hôtes de la liste autorisée à se connecter au serveur X. Pour les hôtes, c'est un contrôle de sécurité assez rudimentaire, uniquement suffisant pour une station de travail mono-utilisateur |
xinit |
xinit(1) - le programme xinit est utilisé pour lancer le serveur X Window et le premier client X (en général, un gestionnaire de fenêtre) sur les systèmes qui ne lancent pas X directement à partir de /etc/init.d ou dans les environnements qui utilisent plusieurs systèmes graphiques. Lorsque ce premier client se ferme, xinit tue le serveur X et se termine |
xinitrc |
script lancé par xinit contenant une liste de clients X à démarrer. Les clients supplémentaire, comme les terminaux, xclock, etc., devraient être lancés en tâche de fond, alors que le premier client, en général, le gestionnaire de fenêtre, devrait être lancé au premier plan, de façon à éviter qu'xinitrc se ferme (voir xinit (1)) |
xvidtune |
xvidtune(1) - sans option, présente à l'utilisateur une interface lui permettant d'ajuster les modes vidéo. Il affiche également les paramètres dans un format permettant leur inclusion dans le fichier XF86Config |
Travaux pratiques
NdT : Ces travaux pratiques ont été prévus pour des stations de travail en environnement de type RedHat.
Avant de commencer, assurez vous que vous êtes en niveau d'exécution 3.
init 3
Connectez-vous sur la première console (c'est à dire Alt +F1)
En tant que root, faites une sauvegarde du ichier de configuration /etc/X11/XF86Config existant et essayez les différents outils de configuration :
- Redhat: Xconfigurator, redhat-config-xfree86 (8.0)
- Mandrake : XFdrake
- Suse: sax
- XF86Setup
- xf86config
- X (avec l'option -configure)
Lancez un serveur X en tapant X. Cela lancera X11R6 seul, sans estionnaire de fenêtre. Retournez sur une console virtuelle (Ctrl+Alt+F2), relancez un shell puis tapez les commandes suivantes :
export DISPLAY=localhost:0 xterm&
Retournez sur X en tapant Ctrl+Alt+F7 (si vous n'avez pas modifié le nombre de consoles virtueles lancées dans /etc/inittab). Vous devriez voir un client xterm. Ensuite, tapez dans ce terminal (NdT : il faut que twm soit installé) :
twm&
Que s'est-il passé ? Pouvez-vous tuer twm sans tuer X ? Retournez sur une console virtuelle (Ctrl+Alt+F2) puis tapez :
X :1
Connectez vous sur une autre console virtuelle (tty3) puis tapez :export DISPLAY=:1; xterm&
Vous avez désormais deux serveurs X lancés sur les "écrans" 0 et 1. Comment passez-vous de l'un à l'autre ?Utilisation de XDMCP
Pour que cela fonctionne, assurez-vous que la ligne contenant un "*" est décommentée dans /etc/X11/xdm/Xaccess.
Si vous utilisez xdm ou kdm, commentez la ligne suivante dans xdm-config :
!DisplayManager.requestPort: 0
En général, cette ligne est commentée et limite la connexion à l'écran 0 (plus sécurisé).Si vous utilisez gdm, vous devrez également éditer gdm.conf et ajouter :
enable=true
Ce qui désactive le paramètre de sécurité de gdm. Si votre IP est 1.2.3.4, les utilisateurs de votre réseau peuvent lancer une session sur votre serveur avec :
X –query 1.2.3.4 :1
ouX -indirect 1.2.3.4 :1
Réponses aux questions
non : XF86Config est le fichier de configuration du serveur X. En général, les fichiers de configuration des gestionnaires d'affichage se trouvent dans des sous-répertoires du répertoire utilisateur
oui, même si les pare-feu peuvent empêcher les clients X d'accéder aux serveurs distants.
non, les gestionnaires d'affichage gèrent l'affichage des écrans de connexion sur le serveur X local ou sur des serveurs distants avec XDMCP
oui, vous noterez que sur la plupart des distributions Linux récentes, vous devrez utiliser xauth avec xauth
oui
non, on utilise généralement startx
Page consultée 796 fois