Informations pour les utilisateurs Linux.
![]()
Ce chapitre s'adresse, plus particulièrement, aux personnes ayant déjà installé une distribution Linux avec Xfree86. Il vous donne les caractéristiques de la nouvelle version, et les comptabilités avec les anciennes versions. Nous conseillons aux débutants de passer directement au chapitre suivant, et de lire ce chapitre une fois familiarisés avec le système, ou bien s'ils rencontrent des difficultés à faire tourner des applications X11R5.
XFree86 a été testé avec la version 2.0.19 de Linux. Il devrait fonctionner sur toutes les versions sans modifications depuis la 1.0. Les binaires et les librairies sont basées sur les librairies Elf C 5.2.18 et sur le lien dynamique ld.so 1.7.14.
Version de Linux sur lesquelles X a été testé.
X11R6 est considéré comme une mise à jour de X11R5, les librairies partagées de XFree86 3.1 (et versions suivantes) ne sont pas compatibles avec XFree86 2.1.1 (et versions précédentes). Pour continuer à exécuter des applications X11R5, vous devez conserver les anciennes librairies sur votre machine. Elles peuvent être déplacées par exemple dans /usr/X386/lib, mais /etc/ld.so.conf doit être mis à jour. Toutes les applications X11R5 doivent fonctionner sans problème avec les serveurs X11R6.
Compatibilité.
X11R6.1 est une autre mise à jour de X11R6. Certaines librairies ont été modifiées, mais les applications X11R6 seront compatibles.
Vos vieux binaires (liés aux librairies de XFree86-1.2, XFree86-1.3 ou XFree86-2.0) continueront à fonctionner, mais vous devez créer un lien symbolique de /lib/libX{11,t,aw}.so.3 vers /usr/X386/lib/libX{11,t,aw}.so.3. Avec la distribution XView3L5 vous rencontrerez des problèmes avec les versions 1.3 et précédentes de ld.so, les librairies de XView contiennent le chemin absolu des images partagées. Pour régler ce problème temporairement (/) est inclus dans /etc/ld.so.config, il est recommandé de recompiler XView avec les noms de librairies relatifs ou de se procurer une nouvelle version de ld.so.
Depuis la version 3.0, XFree86 est installé dans /usr/X11R6. Si vous n'avez pas assez d'espace disque pour X11R5 et X11R6, il faudra supprimer certaines parties inutiles de X11R5. En particulier, les polices et les vieux binaires X11R5 peuvent être supprimés. Vous devez par contre conserver les librairies partagées.
Installer XFree86.
Chaque distribution de XFree86 3.X contient une documentation relative à l'installation. Consultez ce document.
XFree86 nécessite 4Mo de mémoire RAM pour s'exécuter, mais 8Mo de RAM semble nécessaire pour une configuration minimum. Un coprocesseur 387 est recommandé pour les machines 386. Plus vous disposerez de mémoire physique, meilleures seront les performances. Il est aussi recommandé de disposer d'une carte graphique rapide afin d'optimiser les performances du serveur.
Exécuter XFree86.
Après avoir décompressé le fichier tar, vous devez inclure /usr/X11R6/lib dans /etc/ld.so.conf (ce qui devrait être fait par défaut) ou dans votre variable d'environnement LD_LIBRARY_PATH. Le fichier /etc/XF86Config ou /usr/X11R6/lib/X11/XF86Config doit être correctement configuré, utilisez à la base le fichier d'exemple XF86Config.eg et le fichier README.Config. Lisez bien la documentation (pages de man et fichiers README du répertoire /usr/X11R6/lib/X11/doc), vous risqueriez de détériorer votre matériel.
A partir de la version XFree86-3.1.2F, vous trouverez un utilitaire de configuration : XF86Setup. Nous vous en recommandons l'utilisation lors de la configuration du fichier XF86Config. Consultez la documentation correspondante.
XFree86 est capable de basculer entre les différents VTs (terminaux virtuels). Au démarrage, XFree86 détecte automatiquement le premier VT disponible, et s'exécute à partir de ce VT. Si aucun n'est disponible, un message d'erreur s'affiche et XFree86 s'arrête. Le serveur peut être exécuté à partir d'un VT spécifique en utilisant l'option vt<nn> (nn représente le numéro de VT). Si vous n'avez plus de VT disponible, vous ne pourrez exécuter XFree86. vous devez donc augmenter la valeur de la variable NR_CONSOLES (qui se trouve dans /linux/tty.h) puis recompiler le noyau.
A partir de X, vous pouvez basculer entre les différents VT en utilisant la combinaison de touches Ctrl-Alt-<Fnn> (nn représente le numéro de VT vers lequel vous voulez basculer). Pour retourner au serveur, utilisez la combinaison de touches appropriée qui vous ramène au VT utilisé par XFree86 : par défaut il s'agit de Alt-<Fmm> (mm est le numéro de VT sur lequel tourne le serveur). Notez qu'il ne s'agit pas du VT à partir duquel le serveur a été exécuté.
Note : vous pouvez modifier les combinaisons de touches en mode texte, en utilisant la commande 'loadkeys' qui se trouve dans l'archive kbd-0.81.tar.gz. Vous pouvez par exemple faire fonctionner en mode texte la combinaison Ctrl-Alt-<Fmm> de la même façon que sous le serveur XFree86. Lorsque vous sortez du serveur, vous retournerez au VT à partir duquel il a été exécuté, à moins que celui-ci soit mort de façon accidentelle. Certaines combinaisons de cartes graphiques et de cartes mères posent des problèmes lors de l'affichage des polices lors du retour en mode texte. Dans ce cas, vous pouvez utilisez le script runx à partir de la distribution svgalib.
Le serveur XFree86 interroge le noyau pour que les combinaisons de touches soient actives au démarrage. Ces combinaisons sont soit le mapping par défaut mis en place lors de la compilation du noyau, soit rechargées avec l'utilitaire 'loadkeys'. Toutes les touches ne sont pas supportées par le serveur (kernel-specific, multiple keysym, et dead-keys). Les autres sont traduites en leur équivalent X.
Suivant votre configuration, il se peut qu'il y ait certaines choses à modifier. Auparavant, Linux xload utilisait la méthode BSD afin d'obtenir le ''load average'' à partir du noyau exécuté. Dans la version XFree86-1.3, les informations sont lues à partir du fichier /proc/loadavg, la compatibilité avec les noyaux à venir est assurée. Xman a aussi été modifié pour supporter la famille groff de GNU au lieu de la famille nroff de BSD. Vous pouvez facilement restaurer les conventions BSD. Le serveur a été modifié pour améliorer le support de redirection console. Le propriétaire de /dev/console et de /dev/tty0 a été modifié, ainsi que le VT utilisé pour l'exécution. Hélas, le noyau nécessite que la commande ''setuid root'' soit appliquée à un processus pour réaliser la redirection console, il faut donc utiliser cette commande sur xterm et xconsole. Du fait que xconsole n'est pas destinée à être utilisée avec la commande ''setuid root'', nous sommes ici confrontés à un gros problème de sécurité.
Pour exécuter xdm, connectez-vous en tant qu'utilisateur root et tapez la commande :
Xdm.
''xdm -nodaemon''Vous pouvez exécuter xdm au démarrage en désactivant le getty console et en modifiant /etc/inittab. Consultez la documentation, car la façon de procéder dépend de la distribution que vous utilisez.
Le binaire xdm fourni doit fonctionner avec les mots de passe systèmes shadow- et non-shadow.
xterm.
La version binaire de XFree86-3.2 contient un binaire xterm qui a été lié statiquement à libtermcap. Le binaire peut ainsi fonctionner avec toutes les distributions, sans avoir à se soucier de libtermcap ou libncurses. Contrairement aux binaires xterm disponibles dans certaines versions bêta de XFree86-3.1.2, ce binaire ne dépend pas d'une version récente de libncurses installées sur votre système.
XFree86 supporte maintenant le chargement dynamique des pilotes pour les périphériques d'entrée externes utilisant l'extension XInput. Les périphériques supportés sont :
Périphériques d'entrée.
- joystick (xf86Jstk.so)
- tablettes Wacom (protocole Wacom IV seulement, xf86Wacom.so)
- tablettes SummaSketch (xf86Summa.so)
- écrans tactiles Elographics (xf86Elo.so)
Pour utiliser un périphérique, ajoutez à la section Module du fichier XF86Config, la ligne :
où module est le nom du fichier .so correspondant au périphérique. Vous devez aussi configurer la section XInput du fichier XF86Config. Consultez les pages du man consacrées à XF86Config(5).load "module"Vous pouvez changer le périphérique utilisé pour guider le pointeur X avec la commande xsetpointer(1).
Pour le support joystick, vous devez installer le pilote de périphérique dans le noyau.
Les extensions PEX et XIE sont maintenant supportées en tant que modules externes. Si vous voulez avoir accès à ces extensions, ajoutez la ligne suivante à la section Module du fichier XF86Config :
Configurer les extensions PEX et XIE.
load "pex5.so" load "xie.so"Seules les sources pour les versions complètes de XFree86 sont disponibles. La dernière version complète est XFree86 3.2.
Compiler XFree86.
Il n'y a pas d'instructions particulières pour compiler XFree86. Cette version a été compilée avec le compilateur gcc-2.7.2, les librairies ELS 5.2.18 et partagées 1.7.14, et ld.so. Le serveur a été compilé avec l'option -m486 qui permet d'obtenir de meilleures performances avec des processeurs 486, mais le binaire fonctionnera tout de même sur des 386.
Les extensions et les clients ont été portés et testés. Par défaut, les serveurs sont compilés sans les extensions supplémentaires (PEX, XIE, etc), mais les librairies de ces extensions sont tout de même générées. Elles peuvent être chargées au démarrage, consultez les pages du man pour plus de détails. En modifiant site.def, les extensions supplémentaires peuvent être compilées dans le serveur. Vous pouvez aussi utiliser le link kit.
La distribution occupe beaucoup de place. Si l'arborescence est correctement agencée (supprimez les pages man, PEX ou les gros clients), il est possible de compiler XFree86 sur une partition de 64Mo. Exécutez simplement ''make Makefiles'' pour créer les Makefiles, puis stoppez le make et exécutez chaque partie individuellement. Il n'est pas nécessaire d'exécuter ''make depend''. Si vous disposez de 100Mo, la compilation de XFree86 sera plus facile. Vous aurez besoin d'environ 10Mo de mémoire virtuelle pour compiler l'intégralité du serveur.
Si une version a.out de XFree86 est à compiler et que les patches ont été appliqués avec des modifications significatives des librairies, vous devez effectuer des modifications sur les fichiers jump_xxx. Ils peuvent être générés en utilisant les instructions données dans le package d'outils DLL, et seront disponibles en tant que patches XFree86.
Les définitions JUMP_xxx utilisées pour compiler les librairies X peuvent aussi être utilisées pour compiler les librairies partagées externes (ex : Xaw3d). Vous trouverez des instructions détaillées dans le répertoire /usr/X11R6/lib/X11/config/lnxLib.rules.
Merci à Dirk Hohndel (hohndel@aib.com) qui a créé les premières librairies DLL pour XFree86, sur lesquelles cette méthode est basée (développée par Orest Zborowski - (orestz@eskimo.com)).
Tout bug rencontré doit être renvoyé vers XFree86@XFree86.org ou posté dans le newsgroup comp.windows.x.i386unix.
Bugs rencontrés.
©1996 Pour l'adaptation française : "Logiciels du Soleil"