Update 2nd section.
This commit is contained in:
parent
e5c50ba999
commit
8857dc4835
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=53913
1 changed files with 145 additions and 247 deletions
|
|
@ -87,271 +87,169 @@
|
|||
</sect1>
|
||||
|
||||
<sect1 xml:id="x-understanding">
|
||||
<title>Comprendre X</title>
|
||||
|
||||
<para>Utiliser X pour la première fois peut être en
|
||||
quelque sorte un choc pour quelqu'un de familier avec d'autres
|
||||
environnements graphiques, tels que µsoft.windows; ou
|
||||
&macos;.</para>
|
||||
<title>Terminologie</title>
|
||||
|
||||
<para>Alors qu'il n'est pas nécessaire de comprendre tout le détail
|
||||
des divers composants de X ni comment ils interagissent entre eux,
|
||||
une certaine connaissance des bases permet de tirer
|
||||
profit des points forts d'X.</para>
|
||||
des divers composants du système X Window, ni comment ils
|
||||
interagissent entre eux, une certaine connaissance de base de
|
||||
ces composants peut être utile.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Pourquoi X?</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>Le serveur X</term>
|
||||
|
||||
<para>X n'est pas le premier système de fenêtrage
|
||||
écrit pour &unix;, mais c'est le plus populaire d'entre eux. L'équipe
|
||||
originelle de développement d'X avait travaillé
|
||||
sur un autre système de fenêtrage avant d'écrire X.
|
||||
Le nom de ce système était
|
||||
<quote>W</quote> (pour <quote>Window</quote> - fenêtre). X était
|
||||
juste la lettre suivante dans l'alphabet romain.</para>
|
||||
<listitem>
|
||||
<para>X a été conçu dès le départ centré autour du réseau,
|
||||
et adopte un modèle <quote>client-serveur</quote>. Dans
|
||||
ce modèle, le <quote>serveur X</quote> tourne sur
|
||||
l'ordinateur sur lequel sont branchés le clavier, le
|
||||
moniteur et la souris. Le serveur est responsable de
|
||||
tâches telles que la gestion de l'affichage, des entrées
|
||||
en provenance du clavier et de la souris, et les entrées
|
||||
ou sorties d'autres périphériques comme une tablette ou un
|
||||
vidéo-projecteur. Cela jette le trouble chez certaines
|
||||
personnes, parce que la terminologie X est exactement le
|
||||
contraire de ce à quoi ils s'attendent. Ils s'attendent à
|
||||
ce que le <quote>serveur X</quote> soit la grosse machine
|
||||
puissante au fond du couloir, et que le <quote>client
|
||||
X</quote> soit a machine sur leur bureau.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<para>X peut être appelé “X”,
|
||||
“Système X Window”, <quote>X11</quote>, et sous d'autres
|
||||
noms. Il se peut que vous puissiez trouver que nommer
|
||||
X11 <quote>X Windows</quote> peut être offensant pour
|
||||
certaines personnes; consultez &man.X.7; pour un peu plus
|
||||
d'éclairements sur la question.</para>
|
||||
</sect2>
|
||||
<varlistentry>
|
||||
<term>Le client X</term>
|
||||
|
||||
<sect2>
|
||||
<title>Le modèle client/serveur d'X</title>
|
||||
<listitem>
|
||||
<para>Chaque application X, comme
|
||||
<application>XTerm</application> ou
|
||||
<application>Firefox</application> est un
|
||||
<quote>client</quote>. Un client envoie des messages au
|
||||
serveur comme <quote>Dessine une fenêtres aux coordonnées
|
||||
suivantes</quote>, et le serveur renvoie au client des
|
||||
messages du type <quote>L'utilisateur vient de cliquer sur
|
||||
le bouton OK</quote>.</para>
|
||||
|
||||
<para>X a été conçu dès le départ
|
||||
autour de la notion de réseau, et adopte un modèle
|
||||
<quote>client-serveur</quote>.</para>
|
||||
<para>A la maison ou dans un petit bureau, le serveur X et
|
||||
les clients X tourneront en général sur le même
|
||||
ordinateur. Il est également possible de faire tourner le
|
||||
serveur X sur un ordinateur moins puissant et d'exécuter
|
||||
les applications X sur un système plus puissant. Dans ce
|
||||
scénario, la communication entre le client X et le serveur
|
||||
se fera par l'intermédiaire du réseau.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<para>Dans le modèle X, le “serveur X” tourne sur
|
||||
l'ordinateur sur lequel sont branchés le clavier, le moniteur,
|
||||
et la souris. Le serveur est responsable de tâches telles que la gestion de
|
||||
l'affichage, des entrées en provenance du clavier et de la
|
||||
souris, et d'autres périphériques
|
||||
d'entrée ou de sortie (une <quote>tablette</quote> peut
|
||||
être utilisée comme périphérique
|
||||
d'entrée et un vidéo-projecteur peut être
|
||||
un périphérique de sortie alternatif).
|
||||
Chaque application X (comme <application>XTerm</application>, ou
|
||||
<application>&netscape;</application>) est un
|
||||
“client”. Un client envoie des messages au serveur
|
||||
comme “Dessines une fenêtre aux coordonnées
|
||||
suivantes”, et le serveur envoie au client des messages du
|
||||
type “L'utilisateur vient de cliquer sur le bouton
|
||||
OK”.</para>
|
||||
<varlistentry>
|
||||
<term>Le gestionnaire de fenêtres</term>
|
||||
|
||||
<para>Chez soi
|
||||
ou dans un petit bureau, le serveur X et les clients X
|
||||
tourneront presque toujours sur le même ordinateur. Cependant, il est
|
||||
parfaitement possible de faire tourner le serveur X sur un
|
||||
ordinateur de bureau moins puissant, et les applications X (les
|
||||
clients) sur, par exemple, la machine puissante et chère du
|
||||
service. Dans ce scénario la communication entre le client X et
|
||||
le serveur se fera par l'intermédiaire du réseau.</para>
|
||||
<listitem>
|
||||
<para>X n'essaye pas de dicter quel aspect doivent avoir les
|
||||
fenêtres à l'écran, comment les déplacer avec la souris,
|
||||
quelles combinaisons de touches devraient être utilisées
|
||||
pour passer de l'une à l'autre, comment devraient être les
|
||||
barres de titres de chaque fenêtre, etc. Au lieu de cela,
|
||||
X délègue cette responsabilité à une application séparée,
|
||||
le gestionnaire de fenêtres (<quote>window
|
||||
manager</quote>). Il existe des <link
|
||||
xlink:href="http://www.xwinman.org/">douzaines de
|
||||
gestionnaires de fenêtres</link> disponibles. Chaque
|
||||
gestionnaire de fenêtres propose une apparence et une
|
||||
prise en main différentes: certains supportent les bureaux
|
||||
virtuels, d'autres permettent de personnaliser les
|
||||
combinaisons de touches pour la gestion du bureau,
|
||||
certains ont un bouton <quote>Démarrer</quote>, et
|
||||
certains permettent d'utiliser des thèmes, pour un
|
||||
changement complet d'apparence et de prise en main du
|
||||
bureau. Les gestionnaires de fenêtres sont disponibles
|
||||
dans la catégorie <filename>x11-wm</filename> du catalogue
|
||||
des logiciels portés.</para>
|
||||
|
||||
<para>Cela jette le trouble chez certaines personnes, parce que la
|
||||
technologie X est exactement le contraire de ce à quoi ils
|
||||
s'attendent. Ils s'attendent à ce que le
|
||||
“serveur X” soit la grosse machine puissante au fond
|
||||
du couloir, et le “client X” la machine sur leur
|
||||
bureau.</para>
|
||||
<para>Chaque gestionnaire de fenêtre utilise un mécanisme de
|
||||
configuration propre. Certains demandent un fichier de
|
||||
configuration écrit à la main, alors que d'autres
|
||||
disposent d'outils graphiques pour la plupart des tâches
|
||||
de configuration.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<para>Il est important de se souvenir que le serveur X est la machine avec le
|
||||
moniteur et le clavier, et les clients X sont les programmes qui
|
||||
affichent les fenêtres.</para>
|
||||
<varlistentry>
|
||||
<term>Environnement de bureau</term>
|
||||
|
||||
<para>Il n'y a rien dans le protocole qui force les machines
|
||||
clientes et serveurs d'utiliser le même système
|
||||
d'exploitation, ou même de tourner sur le même type
|
||||
d'ordinateur. Il est certainement possible de faire fonctionner
|
||||
un serveur X sur µsoft.windows; ou &macos; d'Apple, et il
|
||||
existe diverses applications gratuites et commerciales qui font
|
||||
exactement cela.</para>
|
||||
</sect2>
|
||||
<listitem>
|
||||
<para><application>KDE</application> et
|
||||
<application>GNOME</application> sont considérés comme des
|
||||
environnements de bureau car ils intègrent une suite
|
||||
complète d'applications pour effectuer les tâches
|
||||
classiques d'un bureau informatique. Ils peuvent disposer
|
||||
de suites bureautiques, de navigateurs Web, ou encore de
|
||||
jeux.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<sect2>
|
||||
<title>Le gestionnaire de fenêtres</title>
|
||||
<varlistentry>
|
||||
<term>Politique de focus</term>
|
||||
|
||||
<para>La philosophie de conception d'X est comme celle d'&unix;,
|
||||
“des outils, pas de contraintes”. Cela signifie
|
||||
qu'X n'essaye pas de dicter comment une tâche doit être
|
||||
accomplie. A la place, les outils sont fournis à
|
||||
l'utilisateur, et c'est à lui de décider comment
|
||||
utiliser ces outils.</para>
|
||||
<listitem>
|
||||
<para>Le gestionnaire de fenêtres est responsable de la
|
||||
politique ou stratégie de focus de la souris. Cette
|
||||
politique offre plusieurs méthodes pour choisir quelle
|
||||
fenêtre doit recevoir les frappes au clavier et comment
|
||||
indiquer visuellement la fenêtre actuellement
|
||||
active.</para>
|
||||
|
||||
<para>Cette philosophie va jusqu'à pousser X à ne pas
|
||||
contrôler l'aspect des fenêtres à l'écran,
|
||||
comment les déplacer avec la souris, quelles combinaisons
|
||||
de touches devraient être utilisées pour passer
|
||||
de l'une à l'autre (i.e.,
|
||||
<keycombo action="simul">
|
||||
<keycap>Alt</keycap>
|
||||
<keycap>Tab</keycap>
|
||||
</keycombo>, dans le cas de µsoft.windows;), comment
|
||||
devraient être les barres de titre de chaque fenêtres,
|
||||
qu'elles aient ou pas des boutons de fermetures, etc...</para>
|
||||
<para>Une des politiques de focus est appelée
|
||||
<quote>click-to-focus</quote> (<quote>cliquer pour obtenir
|
||||
le focus</quote>). Dans ce mode, une fenêtre devient
|
||||
active quand elle reçoit un clic de la souris. Dans le
|
||||
mode <quote>focus-follows-mouse</quote> (<quote>le focus
|
||||
suit la souris</quote>), la fenêtre qui est sous le
|
||||
pointeur de la souris est la fenêtre qui a le focus et le
|
||||
focus est modifié en pointant sur une autre fenêtre. Si
|
||||
la souris est sur la fenêtre racine (ou fond d'écran),
|
||||
alors cette fenêtre a le focus. Dans le mode
|
||||
<quote>sloppy-focus</quote> (<quote>focus
|
||||
relâché</quote>), si la souris est déplacée sur la fenêtre
|
||||
racine, la dernière fenêtre a avoir eu le focus le
|
||||
conserve. Avec le mode focus relâché, le focus n'est
|
||||
modifié que si le pointeur passe sur une nouvelle fenêtre,
|
||||
et non pas quand il quitte la fenêtre actuelle. Dans la
|
||||
politique <quote>click-to-focus</quote>, la fenêtre active
|
||||
est sélectionnée par un clic de la souris. La fenêtre
|
||||
peut être remontée au premier plan au-dessus des autres
|
||||
fenêtres. Toutes les frappes au clavier seront désormais
|
||||
dirigées vers cette fenêtre, même si le curseur est
|
||||
déplacé vers une autre fenêtre.</para>
|
||||
|
||||
<para>Au lieu de cela, X délègue cette
|
||||
responsabilité à une application appelée
|
||||
un “Window Manager” - gestionnaire de fenêtres.
|
||||
Il existe des douzaines de gestionnaires de fenêtres
|
||||
disponibles pour X: <application>AfterStep</application>,
|
||||
<application>Blackbox</application>, <application>ctwm</application>,
|
||||
<application>Enlightenment</application>,
|
||||
<application>fvwm</application>, <application>Sawfish</application>,
|
||||
<application>twm</application>,
|
||||
<application>Window Maker</application>, et bien plus. Chacun
|
||||
de ces gestionnaires de fenêtres fournit une apparence et une
|
||||
prise en main différente; certains d'entre eux supportent les
|
||||
“bureaux virtuels”; d'autres permettent de
|
||||
personnaliser les combinaisons de touches de gestion du bureau;
|
||||
certains ont un bouton “Démarrer” ou quelque chose
|
||||
d'identique; certains possèdent un système de
|
||||
“thèmes”, permettant un changement complet
|
||||
d'apparence et de prise en main en sélectionnant un nouveau
|
||||
thème. Ces gestionnaires de fenêtres, et bien plus, sont
|
||||
disponibles dans la catégorie <filename>x11-wm</filename> du
|
||||
catalogue des logiciels portés.</para>
|
||||
<para>Les différents gestionnaires de fenêtres supportent
|
||||
différents modes pour le focus. Tous supportent le clic
|
||||
pour obtenir le focus, et une grande majorité supporte
|
||||
également d'autres politiques. Consultez la documentation
|
||||
du gestionnaire de fenêtres pour déterminer quels modes
|
||||
sont disponibles.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<para>De plus, les environnements de travail
|
||||
<application>KDE</application> et <application>GNOME</application>
|
||||
ont leur propre gestionnaire de fenêtres qui s'intègre
|
||||
avec l'environnement.</para>
|
||||
<varlistentry>
|
||||
<term>widgets - Eléments graphiques</term>
|
||||
|
||||
<para>Chaque gestionnaire de fenêtres possède
|
||||
également
|
||||
un mécanisme de configuration propre; certains demandent un
|
||||
fichier de configuration écrit à la main, d'autres
|
||||
disposent d'outils graphiques pour la plupart des tâches
|
||||
de configuration; et au moins un
|
||||
(<application>Sawfish</application>) utilise un fichier de
|
||||
configuration écrit dans un dialecte du langage LISP.</para>
|
||||
|
||||
<note>
|
||||
<title>Politique de focus</title>
|
||||
|
||||
<para>Une autre fonction dont est responsable le gestionnaire de
|
||||
fenêtre est la “politique de focus” de la
|
||||
souris. Chaque système de fenêtrage a besoin de
|
||||
méthodes de choix de la fenêtre qui doit recevoir
|
||||
les frappes au clavier, et devrait également indiquer
|
||||
visiblement quelle fenêtre est active.</para>
|
||||
|
||||
<para>Une politique de focus commune est appelée
|
||||
“click-to-focus” (cliquer pour obtenir le focus).
|
||||
C'est le mode utilisé sous µsoft.windows;, dans lequel une
|
||||
fenêtre devient active quand elle reçoit un clic de la
|
||||
souris.</para>
|
||||
|
||||
<para>X ne supporte aucune politique de focus particulière.
|
||||
Au lieu de cela, le gestionnaire de fenêtres contrôle
|
||||
quelle fenêtre a le focus à n'importe quel moment.
|
||||
Différents gestionnaires de fenêtres supporteront
|
||||
différentes méthodes de focus. Tous supportent le
|
||||
clic pour obtenir le focus, une grande majorité supporte
|
||||
d'autres méthodes.</para>
|
||||
|
||||
<para>Les politiques de focus les plus populaires sont:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>“focus-follows-mouse” - le focus suit la
|
||||
souris</term>
|
||||
|
||||
<listitem>
|
||||
<para>La fenêtre qui est sous le pointeur de la souris
|
||||
est la fenêtre qui a le focus. Ce n'est pas
|
||||
nécessairement la fenêtre qui est au-dessus des
|
||||
autres. Le focus est modifié en pointant une autre
|
||||
fenêtre, là il n'y pas besoin de cliquer sur
|
||||
la fenêtre.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>“sloppy-focus” - focus relâché</term>
|
||||
|
||||
<listitem>
|
||||
<para>Cette politique est version dérivée du
|
||||
“focus-follows-mouse”. Avec
|
||||
“focus-follows-mouse”, si la souris est
|
||||
déplacée sur la fenêtre racine
|
||||
(ou fond de l'écran) alors aucune fenêtre
|
||||
n'a le focus, et les frappes au clavier sont tout simplement
|
||||
perdues. Avec le focus relâché, le focus n'est
|
||||
modifié que si le pointeur passe sur une nouvelle
|
||||
fenêtre, et non pas quand il quitte la
|
||||
fenêtre actuelle.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>“click-to-focus” - cliquer pour obtenir le
|
||||
focus</term>
|
||||
|
||||
<listitem>
|
||||
<para>La fenêtre active est sélectionnée
|
||||
par clic de la souris. La fenêtre peut être
|
||||
ramenée au premier plan. Toutes les frappes au
|
||||
clavier seront désormais dirigées vers cette
|
||||
fenêtre, même si le curseur est
|
||||
déplacé vers une autre fenêtre.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>De nombreux gestionnaires de fenêtres supportent d'autres
|
||||
politiques, comme des variations de celles-ci. Assurez-vous
|
||||
de consulter la documentation du gestionnaire de
|
||||
fenêtres.</para>
|
||||
</note>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>“Widgets” - Eléments graphiques</title>
|
||||
|
||||
<para>L'approche d'X d'offrir uniquement des outils s'étend aux
|
||||
éléments graphiques que l'on voit à l'écran
|
||||
dans chaque application.</para>
|
||||
|
||||
<para>“Widget” est un terme pour désigner tous les
|
||||
éléments de l'interface utilisateur qui peuvent
|
||||
être cliqués ou manipulés d'une façon
|
||||
ou d'une autre; boutons, boîtes à cocher, boutons radio,
|
||||
icônes, listes, etc... µsoft.windows; appelle ces derniers des
|
||||
“contrôles”.</para>
|
||||
|
||||
<para>µsoft.windows; et &macos; d'Apple ont tous deux une
|
||||
politique très rigide au niveaux des
|
||||
éléments graphiques. Les développeurs
|
||||
d'applications sont supposés s'assurer que leurs applications
|
||||
partagent une apparence et une prise en main commune. Avec X,
|
||||
on n'a pas considéré comme sensible d'exiger un style
|
||||
graphique particulier, ou ensemble d'éléments
|
||||
graphiques à respecter.</para>
|
||||
|
||||
<para>En conséquence, ne vous attendez pas à ce que les
|
||||
applications X aient une apparence et une prise en main
|
||||
communes. Il a plusieurs ensembles populaires d'éléments
|
||||
graphiques et leurs variations, dont l'ensemble d'éléments
|
||||
original Athena du MIT, <application>&motif;</application>
|
||||
(d'après lequel fût modelé l'ensemble
|
||||
d'éléments graphiques de µsoft.windows;, tous les
|
||||
bords biseautés et trois nuances de gris),
|
||||
<application>OpenLook</application>, et d'autres.</para>
|
||||
|
||||
<para>La plupart des nouvelles applications X, aujourd'hui
|
||||
utiliseront un ensemble d'éléments graphiques à
|
||||
l'apparence
|
||||
moderne, soit Qt, utilisé par <application>KDE</application>,
|
||||
soit GTK+, utilisé par le projet
|
||||
<application>GNOME</application>. A cet égard, il y a une
|
||||
certaine convergence dans l'apparence et la prise en main de
|
||||
l'environnement de travail &unix;, qui facilite certainement les
|
||||
choses pour l'utilisateur débutant.</para>
|
||||
</sect2>
|
||||
<listitem>
|
||||
<para>Widget est un terme pour désigner tous les éléments de
|
||||
l'interface utilisateur qui peuvent être cliqués ou
|
||||
manipulés d'une façon ou d'une autre. Cela comprend les
|
||||
boutons, les boîtes à cocher, les boutons radio, les
|
||||
icônes et les listes. Une boîte à outils de widgets est
|
||||
un ensemble d'éléments graphiques utilisés afin de créer
|
||||
des applications graphiques. Il existe de nombreuses
|
||||
boîtes à outils d'éléments graphiques populaires comme Qt,
|
||||
utilisée par <application>KDE</application>, et GTK+,
|
||||
utilisée par <application>GNOME</application>. Cela aura
|
||||
pour conséquence pour les applications de présenter une
|
||||
apparence et une prise en main différente en fonction de
|
||||
la famille d'éléments graphiques utilisée pour créer ces
|
||||
applications.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="x-install">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue