OVH Cloud OVH Cloud

connaitre l'ip de ma console

10 réponses
Avatar
estats
Bonjour à tous
j'ai un problème sur lequel je colle depuis quelques jours.
J'ai une station linux sur laquelle plusieurs personnes peuvent se
connecter depuis des stations windows via cygwin + ssh.
Le but est que ces personnes se connectent à la station linux afin de
pouvoir utiliser un seul logiciel (delphi) de la manière la plus
transparente possible(ils ne sont pas formés à linux et ils n'ont rien
d'autre à y faire).

Quand je fais un sous cygwin
>ssh -X -l $USER devlinux
ca marche bien pour toutes les applis (xterm, kedit...) mais pas pour
delphi!

[phc@devlinux sources]$ startdelphi&
[1] 10411
[phc@devlinux sources]$ X Error of failed request: BadAtom (invalid
Atom parameter)
Major opcode of failed request: 18 (X_ChangeProperty)
Atom id in failed request: 0xd7
Serial number of failed request: 240
Current serial number in output stream: 243

[1]+ Exit 1 startdelphi


Par contre si je fais un simple ssh sans forward du X, je peux faire
ensuite un export DISPLAY='adresse_ip_stationwindows:0'
et après ca ne pose plus de problème.

Donc ma question est: quelle commande me permet d'initialiser ce DISPLAY
à partir du nom ou de l'@ip de la station qui se connecte?

En vous remerciant
PHC

10 réponses

Avatar
mlz
Le Wed, 20 Apr 2005 09:55:39 +0200, estats a écrit :

Donc ma question est: quelle commande me permet d'initialiser ce DISPLAY
à partir du nom ou de l'@ip de la station qui se connecte?

En vous remerciant
PHC



si tu es connecte en ssh, essaye de voir du cote de la variable
$SSH_CLIENT ou de la commande "who am i"

Avatar
Gabriel Kerneis
estats a écrit :
Bonjour à tous

(...)
Par contre si je fais un simple ssh sans forward du X, je peux faire
ensuite un export DISPLAY='adresse_ip_stationwindows:0'
et après ca ne pose plus de problème.

Donc ma question est: quelle commande me permet d'initialiser ce DISPLAY
à partir du nom ou de l'@ip de la station qui se connecte?
export DISPLAY=$(ifconfig eth0|grep "inet adr"|

sed "s/(.*inet adr:)(([0-9]{1,3}.){3}[0-9]).*/'2:0'/")

Chez moi ça marche mais il y a sans doute beaucoup plus simple (et c'est
peut-être pas très portable).

En vous remerciant
De rien,


--
Gabriel Kerneis

Avatar
mlz
Le Wed, 20 Apr 2005 09:34:44 +0000, Gabriel Kerneis a écrit :




export DISPLAY=$(ifconfig eth0|grep "inet adr"|
sed "s/(.*inet adr:)(([0-9]{1,3}.){3}[0-9]).*/'2:0'/")

Chez moi ça marche mais il y a sans doute beaucoup plus simple (et c'est
peut-être pas très portable).



Sauf que si j'ai bien compris la question il veut l'adresse IP de la
machine windows, car l'affichage se fait sur la machine windows.

Avatar
estats

si tu es connecte en ssh, essaye de voir du cote de la variable
$SSH_CLIENT ou de la commande "who am i"



Voila ce que j'ai ajouté dans le .bashrc de chacun de mes users

if [ "$SSH_CLIENT" != "" ]
then
Z=':0'
D=`echo $SSH_CLIENT | gawk '{print($1)}'`
export DISPLAY=$D$Z
fi

Ca marche,
merci beaucoup

--
Cordialement,
PHC

Avatar
Gabriel Kerneis
mlz a écrit :
Sauf que si j'ai bien compris la question il veut l'adresse IP de la
machine windows, car l'affichage se fait sur la machine windows.
Ah oui, c'est vrai. J'avais lu un peu vite "quand je suis sous Cygwin"

et "adresse de la station windows" sans réaliser qu'entre-temps une
connexion via SSH avait eu lieu.
Disons que ça m'a fait une initiation à sed (c'est la première fois que
réalisais une commande comme ça, d'où l'aspect un peu goret). En
espérant que ça serve à quelqu'un un jour...

Bonne journée,
--
Gabriel Kerneis

Avatar
TiChou
Dans le message <news:42660c96$0$31037$,
*estats* tapota sur f.c.o.l.configuration :

Bonjour à tous


Bonjour,

[problème DISPLAY]

Donc ma question est: quelle commande me permet d'initialiser ce DISPLAY à
partir du nom ou de l'@ip de la station qui se connecte?


Je ne sais pas si j'ai bien compris, mais si c'est bien ça, vérifiez que le
X forwarding soit bien activé sur le serveur ssh de la machine devlinux,
directive X11Forwarding à yes dans le fichier de configuration
/etc/ssh/sshd_config.

Ensuite, sous cygwin un simple :

$ export DISPLAY7.0.0.1:0.0
$ ssh -X -l $USER devlinux

devrait suffir (le export DISPLAY est même optionnel).

En vous remerciant


De rien.

--
TiChou

Avatar
Sébastien Kirche
Le 20 Apr 2005, TiChou a dit :

Ensuite, sous cygwin un simple :

$ export DISPLAY7.0.0.1:0.0
$ ssh -X -l $USER devlinux

devrait suffir (le export DISPLAY est même optionnel).


Oui, surtout si un offset est défini au niveau de ssh, auquel cas (par
défaut) ce serait plutôt 127.0.0.1:10.0

Àma ne pas définir soi-même la valeur de DISPLAY est préférable.

--
Sébastien Kirche

Avatar
estats
vérifiez que
le X forwarding soit bien activé sur le serveur ssh de la machine
devlinux, directive X11Forwarding à yes dans le fichier de configuration
/etc/ssh/sshd_config.


oui, le forward du X fonctionne bien, avec ssh -X je peux lancer toutes
les applis que je veux (xterm, kedit... etc.), sauf justement la seule
appli dont j'ai besoin (delphi) qui me donne les erreurs que j'ai citées
[ sources]$ X Error of failed request: BadAtom (invalid Atom parameter)
Major opcode of failed request: 18 (X_ChangeProperty)
Atom id in failed request: 0xd7
Serial number of failed request: 240
Current serial number in output stream: 243


d'où le problème que j'essaie de contourner en faisant un export DISPLAY
Je pourrais aussi chercher à savoir pourquoi j'ai cette erreur, mais il
me semble plus simple de faire l'export display.

Une solution qui marche est celle qui m'a été conseillée ici en
travaillant autour de la variable d'environnement $SSH_CLIENT
Je mets ca dans le .bashrc de mes users et hop!
if [ "$SSH_CLIENT" != "" ]
then
Z=':0'
D=`echo $SSH_CLIENT | gawk '{print($1)}'`
export DISPLAY=$D$Z
fi
si mon user est loggé directement sur la machine, SSH_CLIENT n'est pas

positionné, et s'il est loggé via ssh, je fais l'export DISPLAY en
conséquence, et tout ca sans écrire de valeur d'adresse ip en dur dans
les fichiers de conf.

Si quelqu'un a une meilleure idée, je suis preneur!

A bientôt et merci à tous de votre participation.

Avatar
Matthieu Moy
Sébastien Kirche writes:

Le 20 Apr 2005, TiChou a dit :

Ensuite, sous cygwin un simple :

$ export DISPLAY7.0.0.1:0.0
$ ssh -X -l $USER devlinux

devrait suffir (le export DISPLAY est même optionnel).


Oui, surtout si un offset est défini au niveau de ssh, auquel cas (par
défaut) ce serait plutôt 127.0.0.1:10.0


A priori, ça sera ça sur la machine distante (:10.0 sera un
forwarder), mais pas en local.

Àma ne pas définir soi-même la valeur de DISPLAY est préférable.


Ouaip. En plus, sous Linux au moins, mettre « 127.0.0.1:0.0 » oblige
la xlib a passer par la couche TCP/IP, alors qu'il fait des sockets
unix bien plus rapides avec la valeur par défaut, « :0.0 ».

--
Matthieu


Avatar
TiChou
Dans le message <news:42666f4d$0$31048$,
*estats* tapota sur f.c.o.l.configuration :


vérifiez que le X forwarding soit bien activé sur le serveur ssh de la
machine devlinux, directive X11Forwarding à yes dans le fichier de
configuration /etc/ssh/sshd_config.


oui, le forward du X fonctionne bien, avec ssh -X je peux lancer toutes
les applis que je veux (xterm, kedit... etc.), sauf justement la seule
appli dont j'ai besoin (delphi) qui me donne les erreurs que j'ai citées


Une fois loggé en ssh, que vaut la variable DISPLAY ?

--
TiChou