On Tue, 26 Feb 2002, Mickey Newman wrote:

> Since I have installed mdk 8.2 b I have not been able to export the display
> from other machines and get it to work.  Has the display numbers changed?
> What should I be using on the host side and server side.
>
> I used to do a xhost + on my local machine and then export DISPLAY=<my
> ip>:0.0
>
> Thanks
>
> Mickey

(My answer does tackle with this problem precisely. Rather I say why you
should be doing it another way. Please other people consider answering,
too.)

Short answer: connect to remote host with
ssh -C nameofremotehost
and everything will work fine.

(-C enables compression, which is bad on a LAN, but excellent speedup
with remote host, whatever the speed of your connection to the net).


*Warning*: Don't do "xhost +", it is insecure ! It allows anyone to
connect to your X session, display nasty windows on your screen, and
spying all your interactions, including the passwords you may type in
various programs. If your local network is accessible from outside,
"anyone" really means everyone in the world!

To avoid security problems, you should check that "xhost" alone always
returns this:
$ xhost
access control enabled, only authorized clients can connect


At our lab, we used to do:
xhost remotehostname
and on the remote side:
export DISPLAY=nameoflocaldisplay:0

(:0 or :0.0 is synonym, :0.1 etc... are only meaningful with several
screens on the same X server)

But it allows any other users from the remote machine.

The correct way is to allow only the remote machine to connect to your
local display. This is done with the xauth program.

Nowadays, things are much simpler for end users like us:
use ssh (possibly with the "-X" option, depending on the ssh client
configuration, by default it's not necessary with Mandrake Linux).

ssh automatically creates the necessary permissions with xauth, and it's
simple:
ssh remotehost

ssh -C -X remotehost
(-C for compression, -X to ensure X calls are forwarded)


$ hostname
mydisplayhost.mydomain
$ echo $DISPLAY
:0
$ ssh remotehost
Welcome to remotehost
$ echo $DISPLAY
mydisplayhost.mydomain:10.0
$ xeyes
bash: xeyes: command not found
$ whatever graphical application you like


(The ":10.0" in $DISPLAY is normal: the display is forwarded in a secure
crypted tunnel. The overhead is small, except on very slow machines.)


-- 
Stéphane Gourichon - Labo. d'Informatique de Paris 6 - AnimatLab
http://animatlab.lip6.fr - philo du dimanche http://amphi-gouri.org/

"Bonjour, je ne suis qu'une phrase entre guillemets dans une signature,
mais si vous me recopiez dans votre signature automatique d'e-mail,
alors je pourrai continuer à me reproduire comme un virus. Merci !"


Reply via email to