Re: xhost et DISPLAY

Top Page

Reply to this message
Author: Edgar Bonet Orozco
Date:  
To: guilde
Subject: Re: xhost et DISPLAY
Salut !

> J'aimerais avoir quelques explications complémentaires sur l'utilisation
> de xhost, et la fonction de la variable DISPLAY.


xhost : tu demandes au serveur X d'accepter les clients en provenance
d'une certaine machine.

DISPLAY : tu dis aux clients que tu vas lancer de contacter un autre
serveur X que le serveur local. Voir aussi l'option -display que la
plupart des clients acceptent. Tout ça c'est dans man X.

> Je voudrais pouvoir ouvrir nedit à partir d'une station Silicon graphics,
> mais le nedit se trouvant sur ma machine, pas sur la silicon.


Tu t'installes sur la Silicon :
    $ xhost +ta_machine
    $ rlogin ta_machine
    $ export DISPLAY=la_silicon:0
    $ nedit &


> Je me connecte donc sur mon poste en telnet, et je tape nedit. Là j'ai à
> chaque fois un message qui me dit que la connection est refusée par le
> serveur X.


Par quel serveur ? Si tu n'as pas ajuste la variable DISPLAY dans ta
session telnet, c'est le serveur X de ta machine. Si tu as bien fait
    export DISPLAY=la_silicon:0
c'est le serveur de la Silicon.


> Sur ma machine j'ai donc fait un xhost + (pour être sur que ça marche),
> mais j'ai toujours le même message. Faut-il relancer le serveur X après un
> xhost ?


Non, mais ce n'est pas sur ta machine qu'il faut faire le xhost, c'est
sur la Silicon. C'est le serveur X de la Silicon que tu veux utiliser !

> Par curiosité, j'ai essayé de faire l'inverse. Je suis sur ma machine et
> je me connecte en telnet vers la silicon, et je lance nedit : là il se
> lance bien sur ma machine (la variable DISPLAY pointe bien sur ma
> machine).


Tu as lancé le nedit de la Silicon depuis la session telnet ? Dans ce
cas tu as du dire d'une façon ou une autre au serveur X de ta machine
d'accepter les clients de la Silicon. Tu n'aurais pas ton répertoire
personnel partagé par NFS entre les deux machines ?

> Mais si je change le DISPLAY pour le faire pointer vers une
> autre machine, nedit se lance toujours sur ma station !!!


Là il y a un problème que je ne comprends pas. Tu es sûr que tu changes
la variable DISPLAY dans un shell de la Silicon ? que c'est bien une
variable d'environnement (commandes export ou setenv) ? que tu lances
nedit depuis ce même shell ? Tu peux envoyer ici des exemples textuels
de ce que tu as tapé ?

> En plus, le xhost
> de la silicon est activé, et ma machine ne fait pas partie de la liste...


Aucune importance. Le xhost de la Silicon concerne le serveur X de la
Silicon. Si tu es assis devant ta machine tu utilises le serveur X de ta
machine, pas celui de la Silicon.

Quand tu auras fini de comprendre le coup du xhost (pas très compliqué
en fait) tu pourras t'amuser avec xauth. C'est plus compliqué mais
sensiblement plus sûr. Au lieu de taper sur la Silicon
    xhost +ta_machine
tu feras
    xauth extract - `hostname`:0 | rsh ta_machine xauth merge -
ou plus simplement
    rcp .Xauthority ton_login@ta_machine:
Bien sûr, tu feras de ça un alias ou un script ou une entrée d'un
menu...


Edgar.