OVH Cloud OVH Cloud

X11, affichage déporté... autres question de béotien

60 réponses
Avatar
Jacques Perrocheau
Bonjour,

Enhardi par mes nouvelles connaissances en affichage déporté
d'application Xwindow, je me suis dis que je pouvais aussi faire des
tests et me faire la main en X11 déporté entre deux Mac OS 10.3.7 sur
lesquels X11 a été installé. Eh! bien ça ne marche pas...

Après avoir dans xterm tapé la commande magique:

ssh -X toto@LaMachine

puis xlogo ou xclock, j'ai droit à un:

Error: Can't open display:

Ai-je loupé une marche ou est-ce "normal" ? Chacun a bien vu que mes
connaissances en Xwindow étaient "minimales".

Je précise que le X11 de la machine sur laquelle je suis fonctionne
toujours normalement en local et même en distant vers la précédente
machine Linux où je faisais "mes essais".

Merci pour vos avis toujours éclairés ;).

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74

10 réponses

2 3 4 5 6
Avatar
FiLH
Jacques Perrocheau writes:

In article ,
Saïd wrote:

D'abord verifier que tes scripts de logins ne bousillent pas la variable
DISPLAY


J'ai des trucs concernant X11 respectivement dans mon .tcshrc
de mon mac-amoi:~ moi$
setenv DISPLAY :0.0

et mon .bashrc
export DISPLAY="localhost:0.0"

c'est tout.


C'est MAL ! :)

Vous positionez une variable qui dépend d'un environnement extérieur,
SANS consulter cet environnement.

Cela fonctionne effectivement dans un cas très particulier, mais pas
dans un cas général. Notamment si on se connecte et que le serveur X
n'est pas lancé.


Bon j'avoue qu'une gestion correcte des DISPLAY est parfois délicate,
sauf quand on utilise ssh, auquel cas le DISPLAY est positionné
correctement lors de la connexion.

FiLH

--
FiLH photography. A taste of freedom in a conventional world.
Web: http://www.filh.org e-mail
FAQ fr.rec.photo : http://frp.parisv.com/
Sitafoto la photo a Bordeaux : http://sitafoto.free.fr/


Avatar
FiLH
Patrick Stadelmann writes:

In article , FiLH wrote:

La variable DISPLAY ne doit pas être positionnée par des scripts de
login.


Qui doit le faire alors ? L'utilisateur à la main ? L'admin qui a écrit
ces scripts (il y a 15 ans je pense, bien avant que l'on passe à ssh)
l'a fait pour simplifier la vie des utilisateurs.


Vous me demandez de résoudre un pb de script obsolète au sein de
votre organisation, j'y suis impuissant... adressez vous aux gens
compétents sur votre lieu de travail.

Sinon la bonne solution actuelle c'est ssh qui positionne correctement
cette variable.

FiLH


--
FiLH photography. A taste of freedom in a conventional world.
Web: http://www.filh.org e-mail
FAQ fr.rec.photo : http://frp.parisv.com/
Sitafoto la photo a Bordeaux : http://sitafoto.free.fr/


Avatar
FiLH
Patrick Stadelmann writes:

In article , FiLH wrote:

Patrick Stadelmann writes:

Et comme mon client
X11 tourne sur LaMachine, ssh ou pas je suis bien obligé de la
considérer sûre.


Si je peux me permettre, on commence par faire des xhosts + dans des
environnements plus ou moins maîtrisés, puis on finit par en faire
n'importe où.


Si une machine n'est pas considérée comme sûre, je ne vais pas non plus
me connecter dessus en ssh avec X11 déporté ! Au lieu de d'espionner mon


Mais le xhost + permet d'espionner avec une machine SURE !

Il ne faut AUCUN privilège pour espioner avec un xhost +.

FiLH

--
FiLH photography. A taste of freedom in a conventional world.
Web: http://www.filh.org e-mail
FAQ fr.rec.photo : http://frp.parisv.com/
Sitafoto la photo a Bordeaux : http://sitafoto.free.fr/



Avatar
FiLH
Jacques Perrocheau writes:

In article ,
Patrick Stadelmann wrote:

Bon il semblerait qu'il vaille mieux éviter cette commande et passer par
ssh (voir les autres réponses). Donc il faut faire, sur la machine
distante :

setenv DISPLAY localhost:10

(à "traduire" si nécessaire en fonction du shell utilisé).


Traduit en "bash" cela donnerait:

export DISPLAY="localhost:10.0"

OK ?

On y va: ;)

mac-amoi:~ moi$ ssh -X
's password:
Last login: Tue Jan 11 17:21:58 2005 from 129.20.73.25
Welcome to Darwin!
mac-LaMachine:~ toto$ echo $DISPLAY
; <- ici un vide éloquant!
mac-LaMachine:~ toto$ export DISPLAY="localhost:10.0"
mac-LaMachine:~ toto$ echo $DISPLAY
localhost:10.0
mac-LaMachine:~ toto$ xlogo
Error: Can't open display: localhost:10.0

Au secours !!!


ssh -v ? Histoire de voir si le forwarding x passe.

Mais si un de vos script de connexion bousille la valeur de DISPLAY,
cela vous donnerait le même comportement.

Par contre RIEN ne garantit que le display soit le 10... cela peut
être le 11, le 12 ...

FiLH

--
FiLH photography. A taste of freedom in a conventional world.
Web: http://www.filh.org e-mail
FAQ fr.rec.photo : http://frp.parisv.com/
Sitafoto la photo a Bordeaux : http://sitafoto.free.fr/


Avatar
FiLH
Saïd writes:

Saïd :
ensuite dans les preferences de X11 de la machine sur laquelle s'affichent
les images (la machine locale) -> Security -> Allow connections from network
clients.



Ne pas tenir compte de ce paragraphe. Normalement ca ne doit pas jouer.


Je n'en était pas sûr, mais avec ssh je viens de tester, cela
fonctionne sans autorisé les networks clients.

FiLH

--
FiLH photography. A taste of freedom in a conventional world.
Web: http://www.filh.org e-mail
FAQ fr.rec.photo : http://frp.parisv.com/
Sitafoto la photo a Bordeaux : http://sitafoto.free.fr/


Avatar
Patrick Stadelmann
In article , FiLH wrote:

Mais le xhost + permet d'espionner avec une machine SURE !


par machine "sure" je veux dire "machine où seul des utilisateurs connus
et vis à vis desquels ce que je fais dans X11 n'est pas confidentiel
peuvent se connecter".

Patrick
--
Patrick Stadelmann

Avatar
Saïd
Patrick Stadelmann :
In article , FiLH wrote:

Mais le xhost + permet d'espionner avec une machine SURE !


par machine "sure" je veux dire "machine où seul des utilisateurs connus
et vis à vis desquels ce que je fais dans X11 n'est pas confidentiel
peuvent se connecter".



D'accord, mais comment savoir s'il n'y a pas de personnes qui se branche
sur le reseau pour faire des choses moins legales? Typiquement s'il y a des
prises pour des portables?

Si tu fais
pres$ ssh loin
loin$ export DISPLAY=pres:0.0
loin$ xterm
(xterm) loin$ ssh tresloin
passwd:

alors ton mot de passe va passer de "loin" vers "pres" en clair.

Alors que sans export DISPLAY, le mot de passe passe par le tunnel ssh et
reste cache.

--
Saïd.
C programmers never die - they're just cast into void.


Avatar
Saïd
FiLH :
Saïd writes:

Saïd :
ensuite dans les preferences de X11 de la machine sur laquelle s'affichent
les images (la machine locale) -> Security -> Allow connections from network
clients.



Ne pas tenir compte de ce paragraphe. Normalement ca ne doit pas jouer.


Je n'en était pas sûr, mais avec ssh je viens de tester, cela
fonctionne sans autorisé les networks clients.



C'est ssh qui fait passer les infos X11 du poste lointain vers le local.

--
Saïd.
C programmers never die - they're just cast into void.



Avatar
Martin Costabel
Jacques Perrocheau wrote:
[]
En plus explicite pour un usage par un béotien cela donne quoi... ? ;-)


Il est peut-être temps pour un petit résumé: Il y a 3 étapes nécessaires
et suffisantes pour que ça marche:

1. Avant de le faire pour la première fois, vérifier que sur la machine
distante, le fichier /etc/sshd_config contient la ligne

X11Forwarding yes

Par défaut, il contient

#X11Forwarding no

Donc retirer le "#" et transformer "no" en "yes", ou simplement rajouter
la ligne indiquée. On a besoin de droits d'administrateur pour ça.

2. Sur la machine locale, lancer le serveur X11 (X11.app).

3. Dans le shell dans lequel la commande "ssh" sera donnée, vérifier que
la variable d'environnement DISPLAY est définie, normalement à ":0".
Dans un xterm, c'est le cas automatiquement, dans une fenêtre
Terminal.app, on doit le faire soit dans un script de démarrage, soit à
la main. Dans bash:

export DISPLAY=:0

Ensuite, "ssh -X machine.distante" va réussir.

--
Martin

Avatar
FiLH
Saïd writes:

FiLH :
Saïd writes:

Saïd :
ensuite dans les preferences de X11 de la machine sur laquelle s'affichent
les images (la machine locale) -> Security -> Allow connections from network
clients.



Ne pas tenir compte de ce paragraphe. Normalement ca ne doit pas jouer.


Je n'en était pas sûr, mais avec ssh je viens de tester, cela
fonctionne sans autorisé les networks clients.



C'est ssh qui fait passer les infos X11 du poste lointain vers le local.


Oui, mais après tout dépend comment ssh se connecte (socket inet ou
unix) et comment X11 filtre ce qu'il appelle connexion distante.

On pourrait donc imaginer que cela ne fonctionne pas :)

FiLH

--
FiLH photography. A taste of freedom in a conventional world.
Web: http://www.filh.org e-mail
FAQ fr.rec.photo : http://frp.parisv.com/
Sitafoto la photo a Bordeaux : http://sitafoto.free.fr/




2 3 4 5 6