This file is indexed.

/usr/share/doc/HOWTO/fr-html/LBX.html is in doc-linux-fr-html 2013.01-3ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Linux version 5.2.0">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.72">
<title>Mini-HOWTO LBX</title>
</head>
<body>
<h1>Mini-HOWTO LBX</h1>
<h2>Paul D. Smith, <code><a href=
"mailto:psmith@baynetworks.com">psmith@baynetworks.com</a></code>,
trad. : <a href="mailto:xglattard@aol.com">Xavier Glattard</a></h2>
v1.04, 11 Décembre 1997, trad. Juin 1997
<hr>
<em>LBX (Low Bandwidth X, X Faible Bande-passante) est une
extension du serveur X qui effectue une compression du protocole X.
En d'autres termes, elle permet, dans le cas d'applications X et
d'un serveur X séparés par une connexion réseau lente, d'accélérer
l'affichage et de réduire les temps de réponse.</em>
<hr>
<h2><a name="s1">1. Introduction</a></h2>
<p><em>Low-Bandwidth X</em> (LBX) prend en compte le fait que de
nos jours tout le monde ne travaille pas qu'à une ou deux
connexions rapides du serveur sur lequel tournent ses
applications.</p>
<p>Le protocole X peut générer un trafic extraordinaire sur votre
réseau, en particulier pour des choses apparemment simples telles
que la création de nouvelles fenêtres. Quiconque aura essayé
d'utiliser X à travers une connexion modem à 28,8 (ou même mieux)
vous le dira : créer de nouvelles fenêtres X nécessite une patience
à toute épreuve.</p>
<p>Le principe est le suivant : LBX est un système de compression
et de cache conçu pour minimiser le trafic X généré entre deux
systèmes.</p>
<h2><a name="s2">2. Quel est le statut de LBX ?</a></h2>
<p>En tant que composant de la publication X11R6.3 du Consortium X
datant de décembre 1996, LBX est une authentique extension du
protocole X. Pour les utilisateurs de XFree86, cela correspond à
XFree86 version 3.3.</p>
<h2><a name="s3">3. Pourquoi utiliser LBX ?</a></h2>
<p>Si vous utilisez un modem pour vous connecter à un prestataire
de service, et que vous exécutez des applications X sur des
machines distantes, l'affichage (variables DISPLAYs) étant dirigé
sur votre machine (et vice versa), alors LBX accélérera la
connexion. De même, si vous redirigez l'affichage d'autres systèmes
à travers des réseaux étendus (d'autres pays, par exemple) ou à
travers des connexions lentes, LBX peut vous être utile.</p>
<h2><a name="s4">4. Pourquoi ne pas utiliser LBX ?</a></h2>
<p>LBX est inutile, naturellement, si vous exécuter des
applications localement, ou si vous n'utilisez pas X.</p>
<p>De même, si vous travaillez sur un réseau local rapide, LBX ne
vous sera pas d'une grande utilité. Certains disent : "si LBX
réduit le trafic réseau, ne pourrait-on pas l'utiliser sur des
réseaux locaux rapides ?" On pourrait, si le but est de réduire le
trafic sur le réseau. Néanmoins, cela introduirait du cache et de
la compression, qui consomment des ressources à chaque extrémités
(de la mémoire supplémentaire pour le cache, et du temps CPU pour
la décompression). Si votre liaison est plutôt performante, LBX
causera sans doute un ralentissement global du réseau.</p>
<h2><a name="s5">5. Comment fonctionne LBX ?</a></h2>
<p>LBX fonctionne en introduisant un <em>serveur proxy</em> du côté
du client, lequel se charge du cache et de la compression. Le
serveur X sait que le client utilise un serveur proxy, et
décompresse en conséquence.</p>
<p>Voici un exemple de configuration classique pour des clients X
distants. Dans la suite, LOCAL représentera toujours la station qui
se trouve en face de vous, et dont vous regardez le moniteur, et
DISTANT sera la station distante, sur laquelle votre application
est exécutée.</p>
<blockquote>
<hr>
<pre><code>
    DISTANT                               LOCAL
 +-----+                                             +-----+
 | APP |-\          Réseau            +-----------+  |     |\
 +-----+  \--------------------------&gt;| SERVEUR X |=&gt;|     ||
 +-----+  /     (Protocole X)         +-----------+  +-----+\
 | APP |-/                                          /_____//
 +-----+
</code></pre>
<hr></blockquote>
<p>Lors de l'utilisation de LBX, un serveur proxy
(<code>lbxproxy</code>) est introduit du côté distant, et les
applications communiquent avec ce processus et non plus directement
avec le serveur LOCAL. Ce processus se charge alors du cache et de
la compression des requêtes X et les transmet. Cela ressemble à ça
:</p>
<blockquote>
<hr>
<pre><code>
     DISTANT                                     LOCAL
                                                           +-----+
 +-----+  +-------+        Réseau           +-----------+  |     |\
 | APP |-&gt;| PROXY |------------------------&gt;| SERVEUR X |=&gt;|     ||
 +-----+  +-------+    (LBX/Protocole X)    +-----------+  +-----+\
 +-----+   /                                              /_____//
 | APP |--/
 +-----+
</code></pre>
<hr></blockquote>
<p>Le détail des fonctions de cache et de compression de LBX sort
du cadre de ce document.</p>
<h2><a name="s6">6. De quoi ai-je besoin pour utiliser LBX
?</a></h2>
<p>Vous avez besoin sur votre système LOCAL d'un serveur X compilé
avec l'extension LBX. A moins que vous n'ayez explicitement demandé
le contraire, les serveurs X11R6.3 incluent automatiquement LBX à
la compilation. Par conséquent, tous les serveurs XFree86 3.3
incluent LBX par défaut.</p>
<p>Vous pouvez utiliser la commande <code>xdpyinfo</code> afin de
vérifier si votre serveur dispose de l'extension LBX : exécutez
<code>xdpyinfo</code> et vérifiez la liste qui suit "number of
extensions" (nombre d'extensions); vous devez voir "LBX" dans cette
liste.</p>
<p>Ensuite, vous avez besoin d'un programme <code>lbxproxy</code>
compilé pour le système DISTANT. C'est le point le plus délicat. Si
le système distant n'est pas du même type que votre système local,
le <code>lbxproxy</code> de votre système local ne sera pas bon,
évidement.</p>
<p>Malheureusement, aucune distribution de <code>lbxproxy</code>
n'a jamais été publiée. Par conséquent, vous devez soit (a) obtenir
et compiler la majeure partie, sinon la totalité, de X11R6.3 pour
le système distant, soit (b) trouver quelque part un exécutable
<code>lbxproxy</code> précompilé pour votre système. Cette dernière
solution est naturellement la plus simple.</p>
<p><code>lbxproxy</code> est constitué d'un unique fichier
exécutable. Aucun fichier de configuration, de ressources, etc. ne
lui est associé.</p>
<h2><a name="s7">7. De quoi n'ai-je pas besoin pour utiliser LBX
?</a></h2>
<p>Le système DISTANT <b>n'a pas</b> besoin d'un nouveau serveur X
(dans tous les cas, le système DISTANT n'a besoin d'exécuter
<em>aucun</em> serveur X).</p>
<p>L'application que vous voulez exécuter <b>n'a pas</b> besoin
d'être liée à une version spéciale de X, ou à une bibliothèque
spéciale; j'utilise régulièrement des applications commerciales
X11R5 à travers LBX sans aucun souci.</p>
<p>Vous <b>n'avez pas</b> besoin de droits d'accès "root" ou
privilégiés sur le système DISTANT; le processus
<code>lbxproxy</code> utilise vos droits d'accès normaux. De plus,
vous pouvez l'exécuter depuis votre répertoire personnel : il n'a
pas besoin d'être installé à un endroit particulier.</p>
<h2><a name="s8">8. Comment je démarre LBX ?</a></h2>
<p>Bon, nous y voilà... après tout, rien de bien compliqué jusqu'à
présent. Remplacez dans la suite LOCAL et DISTANT respectivement
par les noms d'hôte de votre station locale et du système distant
(ne mélangez pas tout!).</p>
<p>Sur LOCAL :</p>
<ol>
<li>Démarrez votre serveur X.</li>
<li>Donnez les droits d'accès du système distant auprès de votre
serveur X. Avec la méthode de la liste d'hôtes, tapez <code>xhost
+DISTANT</code>. Si vous utilisez <code>xauth</code> cela risque de
ne pas être suffisant; consultez le manuel <em>xauth(1)</em> pour
plus d'informations. Vous pourriez consulter efficacement le mini
howto <a href=
"http://www.freenix.fr/linux/HOWTO/mini/Remote-X-Apps.html">Remote
X Apps</a> si vous n'êtes pas familier avec la configuration des
droits d'accès distants sous X.</li>
</ol>
<p>Sur DISTANT :</p>
<ol>
<li>Démarrez <code>lbxproxy</code> en précisant la redirection vers
le serveur X LOCAL, comme cela :
<blockquote>
<pre><code>
  $ lbxproxy -display LOCAL :0 :1 &amp;
</code></pre></blockquote>
Cette commande indique à <code>lbxproxy</code> d'utiliser l'écran
("display") <code>:1</code> sur le système DISTANT; si ce système
dispose déjà de plus d'un écran, vous pouvez choisir
<code>:2</code>, ou n'importe quoi d'autre.</li>
<li>Définissez votre variable d'environnement DISPLAY afin qu'elle
pointe vers l'écran géré par <code>lbxproxy</code>, au lieu de
l'écran habituel :
<blockquote>
<pre><code>
  $ DISPLAY= :1
  $ export DISPLAY
</code></pre></blockquote>
Ou, si vous utilisez csh ou un de ses clones :
<blockquote>
<pre><code>
  % setenv DISPLAY :1
</code></pre></blockquote>
</li>
<li>Si vous utilisez <code>xauth</code>, vous aurez à vérifier que
votre "cookie" est accessible localement. Consultez le mini howto
<a href=
"http://www.freenix.fr/linux/HOWTO/mini/Remote-X-Apps.html">Remote
X Apps</a> pour plus d'informations à ce propos.</li>
<li>Démarrez vos applications X!</li>
</ol>
<p>Voilà; toute application démarrée vers l'écran <code>:1</code>
utilisera LBX. Naturellement, il n'y a aucune raison pour que vous
ne puissiez pas également démarrer des applis X vers <code>LOCAL
:0</code> et les utiliser simultanément.</p>
<h2><a name="s9">9. Problèmes</a></h2>
<p>Voici quelques problèmes courants :</p>
<dl>
<dt><b>Q)</b></dt>
<dd>
<p><code>lbxproxy</code> se termine avec l'erreur "access denied"
("accès refusé").</p>
</dd>
<dt><b>R)</b></dt>
<dd>
<p>Cela signifie que le système LOCAL n'accepte pas les connexions
en provenance du système DISTANT pour des raisons d'autorisation.
Consultez le mini howto <a href=
"http://www.freenix.fr/linux/HOWTO/mini/Remote-X-Apps.html">Remote
X Apps</a> pour plus de détails à ce sujet.</p>
<p>En guise de test simple, essayez de lancer sur DISTANT une appli
simple, comme <code>xclock</code>, en l'affichant sur le système
local, sans utiliser <code>lbxproxy</code> :</p>
<blockquote>
<pre><code>
  $ xclock -display LOCAL :0
</code></pre></blockquote>
<p>Si cela ne marche pas, le problème vient de <code>xhost</code>,
ou d'une simple anomalie de X, pas de LBX.</p>
</dd>
</dl>
<h2><a name="s10">10. Documentation</a></h2>
<p>La seule documentation fournie avec une distribution X standard
est probablement la page de manuel de <em>lbxproxy(1)</em>.</p>
<p>Si vous pouvez consulter l'arborescence des sources de X, de
très intéressantes informations sont disponibles là :</p>
<ul>
<li><code>xc/doc/specs/Xext/lbx.mif</code> (Framemaker MIF)</li>
<li><code>xc/doc/hardcopy/Xext/lbx.PS.Z</code> (Postscript
compressé)</li>
<li><code>xc/doc/hardcopy/Xext/lbxTOC.html</code> (HTML)</li>
</ul>
<p>Une discussion plus précise à propos des algorithmes spécifiques
à LBX est disponible là :</p>
<ul>
<li><code>xc/doc/specs/Xext/lbxalg.mif</code> (Framemaker MIF)</li>
<li><code>xc/doc/specs/Xext/lbxalg.PS.Z</code> (Postscript
compressé)</li>
</ul>
<p>Si vous n'avez pas accès à l'arborescence des sources de X11,
vous pouvez obtenir ces fichiers depuis <a href=
"ftp%20://ftp.x.org/pub/R6.3/xc/doc/">le site FTP du Consortium
X</a>.</p>
<h2><a name="s11">11. Alternatives</a></h2>
<p>Si, pour quelque raison, vous n'aimez pas <code>lbxproxy</code>
: vous n'êtes pas satisfait des performances, ou bien ça ne marche
pas pour vous, ou vous ne voulez pas vous casser la tête à créer un
lbxproxy pour le système distant, ou encore vous avez tout
simplement envie d'essayer d'autres solutions, alors il existe au
moins un autre kit de compression du protocole X (quelqu'un en
connaît d'autres?)</p>
<h2><a name="ss11.1">11.1 dxpc - Differential X Protocol
Compressor</a></h2>
<ul>
<li>Auteur initial : <a href="mailto:brianp@cnet.com">Brian Pane
&lt;brianp@cnet.com&gt;</a></li>
<li>Actuel responsable : <a href=
"mailto:lightborn@mail.utexas.edu">Zachary Vonler
&lt;lightborn@mail.utexas.edu&gt;</a></li>
</ul>
<p><code><a href=
"http://ccwf.cc.utexas.edu/~zvonler/dxpc/">dxpc</a></code>
(Differential X Protocol Compressor, Compresseur Différentiel de
protocole X) fonctionne pour l'essentiel de la même manière que
LBX. Cependant, afin d'éviter d'avoir à implémenter une extension X
et à modifier le code du serveur X, <code>dxpc</code> utilise
<b>deux</b> proxys : le premier s'exécute sur le système DISTANT,
comme <code>lbxproxy</code>, et l'autre s'exécute sur l'hôte
LOCAL.</p>
<p>Le proxy de l'hôte DISTANT intervient dans la communication
entre les clients X et le proxy de l'hôte LOCAL, tandis que le
proxy de l'hôte LOCAL intervient dans la communication entre le
serveur X et le proxy de l'hôte DISTANT.</p>
<p>Ainsi, à la fois pour les clients X et pour le serveur X, cela
ressemble à une connexion X normale.</p>
<h3>Avantages</h3>
<ul>
<li>Comme il s'agit d'une application complètement indépendante qui
n'utilise aucune particularité de X, elle est plus simple à
compiler et à installer.</li>
<li>Elle est maintenue séparément, aussi vous n'avez pas à attendre
la publication par l'OSF de nouvelles versions de X pour profiter
d'améliorations ou de corrections.</li>
<li>Elle fournie des informations et des statistiques plus
nombreuses et plus complètes que <code>lbxproxy</code>.</li>
</ul>
<h3>Inconvénients</h3>
<ul>
<li>Ce n'est pas un composant standard de X; vous devez l'obtenir
et l'installer séparément.</li>
<li>dxpc est légèrement plus complexe à configurer, puisqu'un proxy
est nécessaire sur LOCAL, en plus du proxy DISTANT.</li>
</ul>
<h3>Où obtenir dxpc?</h3>
<p>Le code source de dxpc est disponible à <a href=
"ftp%20://ftp.x.org/contrib/utilities/">ftp.x.org</a>.</p>
<p>Une page web sur dxpc donne beaucoup d'informations
intéressantes, y compris des liens vers la liste de diffusion dxpc,
un accès au code source, et un certain nombre d'exécutables
précompilés pour différentes plates-formes :</p>
<p><a href=
"http://ccwf.cc.utexas.edu/~zvonler/dxpc/">http://ccwf.cc.utexas.edu/~zvonler/dxpc/</a></p>
<h2><a name="ss11.2">11.2 Ssh (Secure Shell)</a></h2>
<p><a href="mailto:lbxhowto@sizone.org">Ken Chase
&lt;lbxhowto@sizone.org&gt;</a> précise que <code><a href=
"http://www.cs.hut.fi/ssh/">ssh</a></code> peut être utilisé pour
la compression. Bien que sa principale fonction soit de sécuriser,
il compresse également les données qu'il envoie.</p>
<p>Ainsi, si vous utilisez X à travers une connexion
<code>ssh</code>, vous obtiendrez automatiquement un certain taux
de compression.</p>
<h2><a name="ss11.3">11.3 Lequel choisir ?</a></h2>
<p>Je ne sais pas. LBX et <code>dxpc</code> apportent certainement
tous les deux une meilleure compression que <code>ssh</code>. Bien
sûr, <code>ssh</code> a pour lui l'avantage de la sécurisation. Et
bien sûr, il n'y a aucune raison pour que vous ne puissiez pas
utiliser à la fois <code>ssh</code> et l'un des deux autres, afin
d'obtenir une bonne compression et une sécurisation.</p>
<p>Il ne devrait pas être très difficile de réaliser un test
comparatif de ces différentes solutions, afin de disposer de
mesures statistiques et subjectives des performances. Mais je ne
l'ai pas fait, et je ne connais personne qui l'ait fait.</p>
</body>
</html>