Suivant: Réseau Chapitre: Applications Avant: Langages et outils
Le système X Window
Le système X Window est l'interface graphique standard des systèmes UNIX. C'est un environnement très puissant supportant de nombreuses applications. Avec X Window, l'utilisateur peut avoir plusieurs terminaux graphiques simultanément à l'écran, chacun contenant un programme différent ou une session utilisateur différente. La souris est très utilisée sous l'interface X, bien qu'elle puisse ne pas être indispensable.
Beaucoup d'applications pour X Window ont été écrites, y compris des jeux, des utilitaires graphiques, des outils de programmation et de documentation, et bien d'autres. Linux associé à X Window transforme votre machine en excellente station de travail graphique. Avec un réseau TCP/IP, vous pouvez même afficher des applications graphiques tournant sur d'autres machines sur votre propre écran, comme avec n'importe quel autre système utilisant X Window.
Le système X Window fut à l'origine développé au MIT, et est diffusable librement. Toutefois, beaucoup de constructeurs ont réalisé des versions propriétaires des programmes originaux X Window. La version de X Window disponible pour Linux est connue sous le nom de XFree86, un portage de X11R5 (et maintenant X11R6) de diffusion libre, adapté spécialement aux systèmes UNIX basés sur les processeurs 80386, comme Linux. XFree86 supporte une très large gamme de cartes vidéo, comprenant le VGA, Super VGA, et un certain nombre de cartes vidéo comportant des fonctions accélératrices. Il s'agit d'une distribution complète du système X Window, incluant le serveur X, les applications et utilitaires, les librairies de programmation est la documentation.
Les applications X standard comprennent xterm (un émulateur de terminal utilisé pour la plupart des applications textes à l'intérieur d'une fenêtre X); xdm (le gestionnaire de sessions, qui s'occupe des logins); xclock (une petite horloge graphique); xman (un lecteur graphique des pages de manuel Linux), et beaucoup d'autres. Le nombre d'applications X disponibles pour Linux est trop important pour les citer toutes ici; la distribution de base de XFree86 comprend les applications ``standard'' que l'on trouve dans la distribution originale du MIT. Bien d'autres sont disponibles séparément, et en théorie n'importe quelle application écrite pour le système X Window devrait se compiler sans aucun problème sous Linux.
L'apparence de l'interface graphique de X Window est contrôlée dans une large mesure par le gestionnaire de fenêtres (window-manager). Ce programme convivial a la charge de placer les fenêtres à l'écran, d'offrir à l'utilisateur la possibilité de les déplacer, changer leur taille, les icônifier, décorer leurs pourtours, etc... La distribution standard de XFree86 comprend twm, le gestionnaire de fenêtres classique du MIT, mais bien d'autres gestionnaires de fenêtres sont disponibles, comme olvwm (Open Look Virtual Window Manager), par exemple. L'un des plus populaires sous Linux (et de plus en plus sur d'autres systèmes) est fvwm. Il s'agit d'un petit gestionnaire de fenêtres, utilisant moitié moins de mémoire que twm, qui offre une interface 3-D et un bureau virtuel. fvwm peut se paramétrer de nombreuses façons et autorise des fonctions avancées aussi bien par la souris que directement au clavier. Beaucoup de distributions de Linux fournissent fvwm comme gestionnaire de fenêtres standard.
La distribution de XFree86 contient le nécessaire de programmation pour les développeurs désirant écrire des applications X Window. Différents ensembles de widgets sont disponibles, comme Athena, Open Look, et Xaw3D. Toutes les fontes standards, bitmaps, pages de manuel, et documentation sont là. PEX (une interface de programmation graphique 3-D) est aussi supporté.
Beaucoup de programmeurs sous X Window utilisent le widget propriétaire Motif pour développer leurs applications. Plusieurs sociétés vendent des licences mono ou multi-utilisateurs de versions binaires de Motif pour Linux. Mais Motif étant lui-même relativement cher, très peu d'utilisateurs Linux l'utilisent. Toutefois, les binaires liés avec les librairies Motif statiques sont librement diffusables. Mais si vous écrivez un programme utilisant Motif et voulez le distribuer librement, vous devez fournir un binaire statique afin que les utilisateurs ne possédant pas Motif puissent malgré tout utiliser le programme.
Les inconvénients majeurs de X Window sont la configuration matérielle nécessaire et la quantité de mémoire utilisée. Un 386 équipé de 4 mégaoctets de mémoire est capable d'exécuter X, mais il faudra au minimum 8 mégaoctets pour l'utiliser de manière confortable. Un processeur plus rapide est également utile, mais la quantité de mémoire RAM est ce qui compte le plus. Ensuite, pour obtenir un affichage vraiment rapide, une carte vidéo comportant des fonctions accélératrices (comme les cartes local-bus équipées de chips S3) est fortement recommandée. Avec une configuration suffisante, des performances dépassant 140.000 xstones ont été mesurées sous Linux et XFree86. Avec une configuration correcte, vous vous rendrez compte que X Window sous Linux est au moins aussi rapide, sinon plus, que sur d'autres stations de travail UNIX.
Nous verrons comment installer et utiliser X dans le chapitre 5.