Page suivante Page précédente Table des matières

5. Dire au client ...

Le programme client (par exemple, votre application graphique) sait à quelle unité d'affichage il doit se connecter en consultant la variable d'environnement DISPLAY. Cependant ce paramétrage peut être modifié en lançant le client avec l'argument -display hostname:0 dans la ligne de commande. Quelques exemples peuvent clarifier les choses.

Notre ordinateur est connu du monde extérieur sous le nom light, et nous sommes dans le domaine uni.verse. Si nous fonctionnons avec un serveur X normal, l'unité d'affichage est connue comme étant light.uni.verse:0. Nous voulons faire tourner le programme de dessin xfig sur un ordinateur à distance, appelé dark.matt.er, et afficher sa sortie ici, sur light.

Supposons que vous vous soyez déjà connecté par telnet à l'ordinateur distant, dark.matt.er.

Si l'interpréteur de commande de l'ordinateur éloigné est csh :

dark% setenv DISPLAY light.uni.verse:0
dark% xfig &

Ou, d'une autre manière :

dark% xfig -display light.uni.verse:0 &

Si c'est sh qui tourne sur l'ordinateur à distance :

dark$ DISPLAY=light.uni.verse:0
dark$ export DISPLAY
dark$ xfig &

Ou, autrement :

dark$ DISPLAY=light.uni.verse:0 xfig &

Ou, bien sûr, également :

dark$ xfig -display light.uni.verse:0 &

Il paraît que certaines versions de telnet transmettent automatiquement la variable DISPLAY à l'ordinateur hôte éloigné. Si vous avez l'une de celles-ci, vous avez de la chance, et c'est effectivement automatique. Si ce n'est pas le cas, la plupart des versions de telnet doivent transmettre la variable d'environnement TERM, et avec un bidouillage judicieux, il est possible de superposer la variable DISPLAY sur la variable TERM.

L'idée, sous-jacente à cette superposition, est de réaliser une sorte de script pour effectuer ceci : avant la connexion par telnet, donnez la valeur de DISPLAY à TERM. Puis, lancez telnet. Du côté de l'ordinateur distant, dans le fichier .*shrc concerné, lisez la valeur de DISPLAY à partir de TERM.


Page suivante Page précédente Table des matières