xmessage : can't open display

Le
corbie
Bonjour,

Je souhaite envoyer des messages à d'autres postes,
avec "xmessage", selon leur numéro IP :

$ xmessage -display 192.28.1.2:0.0 "Hello World"

et je reçois ce message :
"Error: Can't open display: 192.28.1.2:0.0"

J'ai bien lancé "xhost +" sur les postes source
et destination.

Le poste source a comme IP = 192.28.1.1

J'ai tenté de régler le display depuis le poste source :
$ export DISPLAY=192.28.1.2:0.0
(mais est-ce la bonne commande ?)

Merci de votre aide.

Henri

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/201011221438.56742.corbie@free.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Yves F. Barbier
Le #22828561
On Mon, 22 Nov 2010 14:38:56 +0100, wrote:


Je souhaite envoyer des messages à d'autres postes,
avec "xmessage", selon leur numéro IP :

$ xmessage -display 192.28.1.2:0.0 "Hello World"



ça n'est, à l'origine pas fait pour ça (même machine)
il faut passer par ssh:
http://lists.pdxlinux.org/pipermail/plug/2003-March/017176.html

--
Superstition, idolatry, and hypocrisy have ample wages, but truth goes
a-begging.
-- Martin Luther

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
corbie
Le #22828741
Le lundi 22 novembre 2010, Jean-Yves F. Barbier a écrit :
On Mon, 22 Nov 2010 14:38:56 +0100, wrote:
> Je souhaite envoyer des messages à d'autres postes,
> avec "xmessage", selon leur numéro IP :
> $ xmessage -display 192.28.1.2:0.0 "Hello World"


--------------------------------------
ça n'est, à l'origine pas fait pour ça (même machine)
il faut passer par ssh:
http://lists.pdxlinux.org/pipermail/plug/2003-March/017176.html


-------------------------------

Si, je l'ai fait maintes fois et ça marchait très bien.

Il suffisait de lancer "xhost +" sur le poste destination.

On pouvait même lancer l'horloge sur le poste distant :
$ xclock <IP_distant>

Via SSH,idem :
$ ssh xmessage 'coucou'
's password:
Error: Can't open display:

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
giggzounet
Le #22828731
Le 22/11/2010 16:18, a écrit :
Le lundi 22 novembre 2010, Jean-Yves F. Barbier a écrit :
On Mon, 22 Nov 2010 14:38:56 +0100, wrote:
Je souhaite envoyer des messages à d'autres postes,
avec "xmessage", selon leur numéro IP :
$ xmessage -display 192.28.1.2:0.0 "Hello World"




--------------------------------------
ça n'est, à l'origine pas fait pour ça (même machine)
il faut passer par ssh:
http://lists.pdxlinux.org/pipermail/plug/2003-March/017176.html


-------------------------------

Si, je l'ai fait maintes fois et ça marchait très bien.

Il suffisait de lancer "xhost +" sur le poste destination.

On pouvait même lancer l'horloge sur le poste distant :
$ xclock <IP_distant>

Via SSH,idem :
$ ssh xmessage 'coucou'
's password:
Error: Can't open display:




pour ssh ilf aut mettre -X, non ? enfin chez moi ça marche avec -X

bye

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/ice1tm$3i8$
Jean-Yves F. Barbier
Le #22828831
On Mon, 22 Nov 2010 16:23:34 +0100, giggzounet
Yep, t'as raison: ssh -X xmessage -display :0.0 "Testeuuuh"
fonctionne Tbien :)

pour ssh ilf aut mettre -X, non ? enfin chez moi ça marche avec -X



--
Sleep -- the most beautiful experience in life -- except drink.
-- W. C. Fields

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Jean-Yves F. Barbier
Le #22828821
On Mon, 22 Nov 2010 16:18:05 +0100, wrote:

l'export se fait sur la machine réceptrice, pas sur l'émettrice,
et la syntaxe est: export DISPLAY=:0.0


Si, je l'ai fait maintes fois et ça marchait très bien.

Il suffisait de lancer "xhost +" sur le poste destination.



wai, comme ça la porte est Gde ouverte :(


--
There are certain things men must do to remain men.
-- Kirk, "The Ultimate Computer", stardate 4929.4

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
corbie
Le #22829281
Le lundi 22 novembre 2010, Jean-Yves F. Barbier a écrit :
On Mon, 22 Nov 2010 16:23:34 +0100, giggzounet Yep, t'as raison: ssh -X xmessage -display :0.0 "Testeuuuh"
fonctionne Tbien :)


-------------------
ssh -X xmessage -display :0.0 "OK"
Il faut taper le mot de passe, c'est assez lourd,
mais ça marche.
Merci.

Pourtant je l'avais fait il y a environ 3 ans :
$ xmessage -display <IP_distant> :0.0 "Hello"
sans problèmes.
Soit ... tant pis, je verrai plus tard si c'est possible.

Bonne fin de soirée.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Jean-Yves F. Barbier
Le #22829321
On Mon, 22 Nov 2010 18:06:11 +0100, wrote:

RTFM: il suffit de positionner la bonne option, de mettre la clé publi que
de l'émetteur dans ~/.ssh/authorized_keys et d'accepter le host à la
première connexion pour que les suivantes n'aient pas besoin de p/w.

Il faut taper le mot de passe, c'est assez lourd,



--
Q: What is printed on the bottom of beer bottles in Minnesota?
A: Open other end.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Jean-Jacques Doti
Le #22830241
Salut à tous,

Et bien concernant le protocole client-serveur X11 et sa sécurité, je
suis pas un spécialiste, mais quand je lis ce fil de discussion, je me
dis qu'il y a du boulot pour en expliquer un peu ;-) !

Le 22/11/2010 18:06, a écrit :
ssh -X xmessage -display :0.0 "OK"
Il faut taper le mot de passe, c'est assez lourd,
mais ça marche.
Merci.


En fait, dans ce cas-là, l'option -X ne sert à rien. Cette option permet
de se connecter à une machine distante (serveur SSH) et de lancer une
application graphique (client X) qui va s'afficher sur le serveur X
tournant sur le client SSH. C'est clair ?

Dans le cas qui nous intéresse, on veut afficher une application sur une
machine (et un serveur X) distant. Donc,
ssh xmessage -display :0.0 "OK"
va suffire, à condition que user soit bien l'utilisateur propriétaire de
la session graphique sur machine.

Pourtant je l'avais fait il y a environ 3 ans :
$ xmessage -display<IP_distant> :0.0 "Hello"
sans problèmes.
Soit ... tant pis, je verrai plus tard si c'est possible.


Effectivement, ce type de commande pourrait fonctionner, s'il n'y avait
pas des mécanismes de sécurité pour l'empêcher...
Tout d'abord, il y a de grandes chances pour que ton serveur X n'écoute
tout simplement pas sur le réseau, mais seulement sur une socket Unix
locale. Il suffit de regarder les options de lancement qui doivent être
indiquées dans le fichier /etc/X11/xinit/xserverrc (ou peut-être dans la
conf de gdm). Si tu y vois quelque chose du genre "-nolisten tcp", c'est
bien le cas. Tu peux aussi vérifier si le port TCP 6000 est en écoute
sur la machine où tu veux afficher tes messages : c'est le port TCP
associé au display machine:0 (port 6001 pour machine:display:1).
Ensuite, il faut autoriser la connexion X depuis ta machine cliente :
c'est là qu'intervient la command "xhost +", mais pour plus de sécurité,
je te conseille plutôt un "xhost +<machine autorisée>". N'oublie pas que
l'accès à un display ne te permet pas seulement d'afficher ce que tu
veux à l'écran, mais aussi de voir ce qui est affiché et de lire tous
les évènements clavier et souris. Dans un environnement que tu estimes
sécurisé (petit LAN domestique) ça peut passer, mais il faut éviter ce
genre de chose dès que des machines du réseau peuvent être utilisées par
des gens à qui tu ne fais pas absolument confiance.
Le problème, c'est que même avec "xhost +", je ne suis pas tout à fait
certain que cela fonctionne. L'accès au serveur X est certainement
sécurisé via un mécanisme de fichier d'autorisation : regarde du côté de
la commande xauth si tu veux en savoir plus (je ne connais pas
suffisamment pour pouvoir te résumer le fonctionnement de façon claire).

Au final, afficher des applications sur un serveur X distant n'est pas
pas (plus) trivial en raison de considérations de sécurité. La bonne
solution serait peut-être de chercher des systèmes de notification
graphique en réseau. Ça existe certainement, mais je n'en connais pas.
En revanche, il doit bien il y avoir des personnes ayant utilisé ça par
ici..

Bonne fin de soirée.



Bonne soirée à toi aussi,
Jean-Jacques


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
corbie
Le #22831051
Le lundi 22 novembre 2010, Jean-Jacques Doti a écrit :
Et bien concernant le protocole client-serveur X11 et sa sécurità ©, je
suis pas un spécialiste, mais quand je lis ce fil de discussion, je me
dis qu'il y a du boulot pour en expliquer un peu ;-) !

En fait, dans ce cas-là, l'option -X ne sert à rien. Cette opti on permet
de se connecter à une machine distante (serveur SSH) et de lancer un e
application graphique (client X) qui va s'afficher sur le serveur X
tournant sur le client SSH. C'est clair ?



Et oui, évidemment ! :-)

Il suffit de regarder les options de lancement qui doivent être
indiquées dans le fichier /etc/X11/xinit/xserverrc (ou peut-êtr e dans la
conf de gdm). Si tu y vois quelque chose du genre "-nolisten tcp", c'est
bien le cas. Tu peux aussi vérifier si le port TCP 6000 est en à ©coute
sur la machine où tu veux afficher tes messages : c'est le port TCP
associé au display machine:0 (port 6001 pour machine:display:1).
regarde du côté de la commande xauth



J'ai besoin de précisions sur ces configurations TCP à modifier . ..
ça doit être dans les fichiers "gdm.conf" et dans "/etc/X11/..."

et comment vérifier si le port TCP 6000 est en écoute ?

En revanche, il doit bien il y avoir des personnes ayant utilisé à §a par ici..
Jean-Jacques



J'espère que ces précisions viendront ...

Maintenant, bonne nuit ... :-)

Henri

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Jean-Jacques Doti
Le #22833441
Salut !

On Tue, 23 Nov 2010 00:10:39 +0100, wrote:
Le lundi 22 novembre 2010, Jean-Jacques Doti a écrit :
Il suffit de regarder les options de lancement qui doivent être
indiquées dans le fichier /etc/X11/xinit/xserverrc (ou peut-être dans




la
conf de gdm). Si tu y vois quelque chose du genre "-nolisten tcp",




c'est
bien le cas. Tu peux aussi vérifier si le port TCP 6000 est en écoute
sur la machine où tu veux afficher tes messages : c'est le port TCP
associé au display machine:0 (port 6001 pour machine:display:1).
regarde du côté de la commande xauth



J'ai besoin de précisions sur ces configurations TCP à modifier ...
ça doit être dans les fichiers "gdm.conf" et dans "/etc/X11/..."


Si tu utilises gdm comme gestionnaire de connexion, tu peux simplement
lancer gdmsetup en tant que root (via gksu ou, suivant ta configuration,
via les menus présents sur la page de login). Il te suffit alors d'aller
dans l'onglet "Sécurité" et de décocher la case "Refuser les connexions TCP
au serveur X". Ensuite, il suffit de redémarrer le serveur X (simplement en
fermant la session en cours par exemple).

et comment vérifier si le port TCP 6000 est en écoute ?


Plusieurs méthodes sont possibles :
- sur la machine où tourne le serveur X, exécuter "netstat -tanp | grep
:6000" -> tu dois voir apparaître quelque chose du genre
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
-
- depuis n'importe où sur ton réseau, avec un telnet :
telnet <ta_machine> 6000
Si le port 6000 est en écoute, ça devrait afficher "Connected to
<ta_machine>".


Si tu passes un "xhost +" ou un "xhost +<machine>", tu devrais pouvoir
afficher ce que tu veux depuis <machine>, mais ça t'oblige à te connecter
préalablement (en SSH) sur le poste distant pour aller passer ta commande
(ou alors tu rajoutes la commande dans les fichier d'initialisation de
bash). Quitte à passer une commande à distance, autant récupérer plutôt les
clés d'identification xauth et les importer : il y aura beaucoup moins de
risque de sécurité. Regarde la page de manuel de xauth (man xauth) : il y a
quelques exemples pour faire ça et ce n'est pas très compliqué.

A+
Jean-Jacques

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Publicité
Poster une réponse
Anonyme