/usr/share/doc/HOWTO/fr-html/LBX.html is in doc-linux-fr-html 2013.01-3.
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 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.71">
<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 +-----------+ | |\
+-----+ \-------------------------->| SERVEUR X |=>| ||
+-----+ / (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 |->| PROXY |------------------------>| SERVEUR X |=>| ||
+-----+ +-------+ (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 &
</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
<brianp@cnet.com></a></li>
<li>Actuel responsable : <a href=
"mailto:lightborn@mail.utexas.edu">Zachary Vonler
<lightborn@mail.utexas.edu></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
<lbxhowto@sizone.org></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>
|