X-Window
Un article de Diablotins.org.
|
X-Window est un projet composé de différents modules qui vont gérer votre environnement graphique pour permettre l'affichage à l'écran des fenêtres, textes et autres.
Malgré l'usage courant et transparent que la majorité d'entre vous vont faire, «X-Window» est un projet complexe. Il repose sur un protocole réseau, basé sur TCP, soit une architecture client-serveur: c'est le «protocole X».
Ce protocole, implémenté dans nombre d' Unix, se décline aujourd'hui en deux versions, XFree86, la première version libre de X-Window et X.org, une branche parallèle créée dans le but de maintenir une licence libre pour X-Window, un fork.
Pour résumer, ce projet va permettre à FreeBSD d'afficher une interface dite «graphique» avec moult fenêtres en couleurs et polices de caractères affriolantes que se disputent une souris et un clavier.
Sommaire |
Architecture
X est un protocole réseau basé sur TCP/IP .
Chaque serveur est à l'écoute de ses clients à partir du port 6000 par défaut, adresse de son premier pupitre («display»).
Les clients lui communiquent ainsi tout ce que ce terminal doit afficher en réponse à son activité. Il s'agit des «applications X» exécutées par la machine qui gère les comptes des clients.
Le pupitre ( Display )
C'est sous ce terme qu'est désigné l'ensemble d'éléments que devra gérer le serveur ou terminal X, soit, des entrées ( clavier, souris ) et des sorties ( carte graphique, écrans ).
Chaque pupitre se distingue par une adresse IP et un numéro d'indice, sous la forme:
machine:numéro.écran 192.168.0.2:0.0 #Premier écran du premier afficheur du terminal 192.168.0.2
Ainsi, Le serveur écoute sur le terminal X autant de ports TCP qu'il gère de pupitres, ports consécutifs ,par défaut à partir de 6000. Dans la majorité des cas aujourd'hui, il s'agit de la même machine qui ne gère qu'un seul pupitre, même si ce n'est pas le cas de l'auteur de ces lignes, l'écran et le clavier de la machine de sa femme étant bien plus confortable.
Les gestionnaires de fenêtres
Ce sont des clients X un peu particuliers qui gèrent le décors des fenêtres, leurs tailles et positions ainsi que leurs réduction sous forme d'icônes.
Ils offrent en outre pour la plupart divers petits clients X qui leurs sont dédiés, comme la gestion d'espaces ou de bureaux virtuels, menus et autres lanceurs d'applications.
Il existe une multitude de «windows managers» pour FreeBSD, ce serait bien le diable si vous n'en trouvez pas un à votre goût. Vous en trouverez une liste dans le catalogue des ports «x11/wm».
Le plus simple étant de les essayer, définissez un gestionnaire de fenêtres pour un utilisateur en particulier en modifiant le fichier «~/.xinitrc».
Les environnements de bureau ou bureaux
Ce sont des applications ( clients )X particulières et généralement assez lourdes.Elle requiert un gestionnaire de fenêtres souvent définit par défaut.
L'environnement graphique est responsable du lancement des applications X et fait le lien entre les différentes applications X en fonctionnement.
Il peut se concevoir comme une usine à lancer des applications X; c'est même souvent une usine à gaz.
Lors d'une utilisation bureautique, c'est malgré tout un outil indispensable.
Il en existe trois projets bien aboutis à ma connaissance:
- KDE (x11/KDE) : version libre de CDE, très éloigné de son ancêtre aujourd'hui. Il repose sur les bibliothèques Qt.
- Gnome (x11/gnome2) : Il repose sur les bibliothèques Gtk.
- XFce (x11-wm/xfce4) : Le plus léger des trois; il repose sur les bibliothèques Gtk.
Ce sont des méta-ports qui vont installer un grand nombre de dépendances pour fonctionner lors de leur installation.
Les Widgets
C'est un ensemble de contrôles graphiques prédéfinis pour X-Window : Boutons, étiquettes, zones de saisies ou listes à dérouler; bref des bidules graphiques destinés à uniformiser un peu l'apparence des applications qui les utilisent.
Il en existe plusieurs modèles dont les plus connus sont Athena, Motif, OpenLook etc.
Les différents environnements de bureaux ont eu à cœur de créer leur propres widgets.
Intégration dans FreeBSD
Je vous conseille fortement d'installer X lors de l'installation de FreeBSD ainsi qu'un gestionnaire de fenêtre voire un environnement complet plutôt que de l'installer par la suite par le système de ports.
Quelques modules
Le projet X-Window est composé d'un ensemble qui vont adapter le comportement de vos pupitres:
- xmodmap : gère une carte de correspondance touches/codes pour le clavier.
- xfs : un serveur de polices de caractères.
- xset : l'utilitaire principal de gestion des préférences: couleurs, souris, sonnette ou économiseur d'écran.
Quelques touches utiles
- Si vous utilisez un gestionnaire de connexions ou si le système est bloqué, appuyez simultanément sur «Ctrl»«Alt»«Retour» ( «backspace» ) pour terminer X.
Le gestionnaire de connexion redémarrera automatiquement ensuite, s'il est définit dans /etc/ttys.
- «Ctrl»«Alt»«+» ou «Ctrl»«Alt»«-» augmente ou diminue la résolution.
- Le copier-coller s'effectue à la souris.
- Sélectionnez le texte à copier.
- Déplacez vous vers la position de copie et utilisez le bouton du milieu de la souris ou les deux boutons gauches et droites si vous émulez les trois boutons.
Un Terminal X
Un terminal X est tout simplement une machine qui fait tourner un serveur X.
Donc, dans la plupart des configurations modernes, c'est votre propre PC.
Par extension, ce terme ne désigne plus que les stations sans disque (Diskless) c'est à dire une machine disposant d'au moins un pupitre, soit un clavier, une souris, un écran et une carte graphique, d'une carte réseau et capable de lancer un serveur X en mémoire. Cette configuration est assez aisée à mettre en œuvre sous FreeBSD.
Dans un certains sens, si vous utilisez xfs par exemple, le serveur X de votre PC n'utilise pas non plus directement vos disques durs.
En savoir plus
- La fondation X.org (en anglais)
- Pour un standard des bureaux X libres (en anglais)
- Une liste de gestionnaire de fenêtres (en anglais)
- Configurer X11 pour FreeBSD
Documentation
- Le manuel de X-Window
- Le sytème X-Window par le manuel
- L'auteur s'est inspiré dans son introduction et ses présentations de l'ouvrage de Jean Michel Moreno: «Unix Administration»
