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
Paul Gaborit
À (at) Thu, 13 Jan 2005 11:17:03 +0100,
(Laurent Pertois) écrivait (wrote):
Ludovic Thébault wrote:

Et pour faire ça avec une mandrake sur un pc, ç'est pareil ou ça ne
marchera pas


Il n'y a aucune raison que ça ne marche pas, OpenSSH est le même
partout.


Pour certaines configurations, il faudra utiliser 'ssh -Y' plutôt que 'ssh -X'
pour un accès complet au serveur X. Mais sinon, c'est pareil partout.

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>


Avatar
Paul Gaborit
À (at) Tue, 11 Jan 2005 16:23:49 +0100,
Patrick Stadelmann écrivait (wrote):
In article <41e3e38b$0$6629$,
YBM wrote:

P.S. Ne surtout pas jouer avec "xhost", il introduit des trous
de sécurité gravissimes.


C'est à dire ?


Piratage du *votre* serveur X par IP spoofing d'une machine distante
autorisée. Ou beaucoup plus simplement en étant n'importe quel utilisateur de
la machine distante.

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>


Avatar
blanc
Jacques Perrocheau wrote:

Est-ce que tu pourais donner [la version] de ce test pour tcsh ?


Il vaut mieux éviter la famille csh/tcsh pour les scripts.

Sinon, ça doit donner ceci :

if ($DISPLAY == "") then
setenv DISPLAY ":0.0"
endif

Attention, contrairement à la syntaxe de la famille Bourne-shell, le mot
"then" n'est pas considéré comme une nouvelle commande, et donc il n'y a
pas de saut de ligne devant ce mot.

JPaul.
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

Avatar
jperrocheau
JPaul wrote:

Il vaut mieux éviter la famille csh/tcsh pour les scripts.


Tu peux expliquer les raisons, en termes compréhensibles par un non
unixien ?

Sinon, ça doit donner ceci :

if ($DISPLAY == "") then
setenv DISPLAY ":0.0"
endif

Attention, contrairement à la syntaxe de la famille Bourne-shell, le mot
"then" n'est pas considéré comme une nouvelle commande, et donc il n'y a
pas de saut de ligne devant ce mot.


Marche pô... ;-(

Merci, quand même

--
Jacques PERROCHEAU
________________________________________________________________________
e-mail: mailto:

Avatar
Martin Costabel
Jacques Perrocheau wrote:

JPaul wrote:

Il vaut mieux éviter la famille csh/tcsh pour les scripts.


Tu peux expliquer les raisons, en termes compréhensibles par un non
unixien ?


Pour lui, la raison devrait être qu'il n'arrive pas à se souvenir de la
bonne syntaxe. Plus généralement, les raisons sont plutôt de nature
réligieuse..

Sinon, ça doit donner ceci :

if ($DISPLAY == "") then
setenv DISPLAY ":0.0"
endif

Attention, contrairement à la syntaxe de la famille Bourne-shell, le mot
"then" n'est pas considéré comme une nouvelle commande, et donc il n'y a
pas de saut de ligne devant ce mot.


Marche pô... ;-(


Oui, ça donne

tcsh: DISPLAY: Undefined variable.

Parceque, 'contrairement à la syntaxe de la famille Bourne-shell', on
n'a pas le droit d'utiliser une variable quand elle n'est pas définie.
Et le test 'if ($DISPLAY == "")' ne teste pas si elle est définie, au
contraire, il l'utilise. Le vrai test qui marche est

if ( ! $?DISPLAY ) then
setenv DISPLAY :0
endif

--
Martin


Avatar
Jacques Perrocheau
In article ,
Martin Costabel wrote:

if ($DISPLAY == "") then
setenv DISPLAY ":0.0"
endif

Attention, contrairement à la syntaxe de la famille Bourne-shell, le mot
"then" n'est pas considéré comme une nouvelle commande, et donc il n'y a
pas de saut de ligne devant ce mot.


Marche pô... ;-(


Oui, ça donne

tcsh: DISPLAY: Undefined variable.

Parceque, 'contrairement à la syntaxe de la famille Bourne-shell', on
n'a pas le droit d'utiliser une variable quand elle n'est pas définie.
Et le test 'if ($DISPLAY == "")' ne teste pas si elle est définie, au
contraire, il l'utilise. Le vrai test qui marche est

if ( ! $?DISPLAY ) then
setenv DISPLAY :0
endif


OK, merci.

Cela marche, mais j'ai une peu cafouillé, je fais ce genre d'exercice
que dans ma session. Pour tcsh je suis les guidelines données dans
"/usr/share/tcsh/examples/README" histoire de ne pas me faire avoir par
une éventuelle mise à jour qui écraserait ce que j'aurais voulu modifier
plus pronfondément.

D'abord un insidieux espace s'était glissé dans le début du nom du
fichier "environment.mine" ensuite comme j'ai fais un copié collé, les
fin de lignes étaient bizarre "if ( ! $?DISPLAY ) then then^M" vu d'une
autre machine, (je n'ai pas compris), j'ai rétapé à la main et
maintenant cela marche.

--
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



Avatar
blanc
Jacques Perrocheau wrote:

Il vaut mieux éviter la famille csh/tcsh pour les scripts.


Tu peux expliquer les raisons, en termes compréhensibles par un non
unixien ?


J'aurais du dire amha.
Une syntaxe pas toujours évidente à maitriser, voir par exemple la
contrainte du "then" ci-dessous. Il y en a d'autres du même genre dont
je ne me souviens plus. Disons qu'ayant essayer de l'enseigner à une
époque, j'avais trouvé qu'il posait plus de problèmes que les avantages
qu'il pouvait apporter. Je l'avais cependant conservé pour les shells
interactifs.

En outre, le langage étant moins répandu pour les scripts, et moins
connu par conséquent, il est amha préférable de l'éviter pour permettre
une maintenance par d'autres personnes. Mais est-ce vraiment un argument
?...

Sinon, ça doit donner ceci :

if ($DISPLAY == "") then
setenv DISPLAY ":0.0"
endif

Attention, contrairement à la syntaxe de la famille Bourne-shell, le mot
"then" n'est pas considéré comme une nouvelle commande, et donc il n'y a
pas de saut de ligne devant ce mot.


Marche pô... ;-(


Effectivement. Je viens de vérifier, ça marche avec un paramètre, par
exemple :
if ($1 == "")
mais pas avec une variable non défini.

Donc après petite recherche dans man csh (rubrique Expressions) j'ai
retrouvé la bonne syntaxe :

----------------------
#!/bin/csh

set aaa=machin

if (! $?aaa) then # cas où la procédure est appelée sans paramètre.
setenv rep "courant"
else # Si paramètre présent, c'est le chemin du répertoire.
setenv rep "$aaa"
endif
echo $rep
-----------------------

tel quel ce script affiche "machin", mais si tu enlèves la ligne
set aaa=machin
la variable aaa ne sera plus définie et il affichera "courant"

Voilà.

JPaul.

--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE


Avatar
blanc
JPaul wrote:

[snip]
Donc après petite recherche dans man csh (rubrique Expressions) j'ai
retrouvé la bonne syntaxe :
[snip]


Hum. Désolé. J'avais fait cette réponse hier, mais elle avait oublié de
partir. Heureusement que Martin t'a répondu ;-)

JPaul.
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

Avatar
Michel Henri
In article (Dans l'article) <csgias$iup$,
Jacques Perrocheau wrote
(écrivait) :

"if ( ! $?DISPLAY ) then then^M" vu d'une
autre machine, (je n'ai pas compris),


Les caractères de fin de ligne ne sont pas les mêmes pour MacOs, Windows
et Unix. Pareil pour les accents. Un vrai bazar. Ce qui fait que, pour
naviguer en ligne de commande dans son disque dur ou consulter ou
modifier des fichiers textes, surtout à partir d'un Linux, ça peut être
assez galère...

--
Michel Henri (enlever les quatre lettres de fin d'alphabet pour me répondre)

Avatar
FiLH
Michel Henri writes:

In article (Dans l'article) <csgias$iup$,
Jacques Perrocheau wrote
(écrivait) :

"if ( ! $?DISPLAY ) then then^M" vu d'une
autre machine, (je n'ai pas compris),


Les caractères de fin de ligne ne sont pas les mêmes pour MacOs, Windows
et Unix. Pareil pour les accents. Un vrai bazar. Ce qui fait que, pour
naviguer en ligne de commande dans son disque dur ou consulter ou
modifier des fichiers textes, surtout à partir d'un Linux, ça peut être
assez galère...


Les éditeurs de texte qui vont bien s'adaptent au format de fin de
ligne.

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