jam <[EMAIL PROTECTED]> writes:
> On Monday 17 November 2008 10:00:07 [EMAIL PROTECTED] wrote:
>> am <[EMAIL PROTECTED]> writes:
>> > On Monday 17 November 2008 06:10:16 [EMAIL PROTECTED] wrote:

[...]

>> > I'm logged into THIS machine and I want to run a program on THIS
>> > machine but display on THAT machine.
>>
>> Which machine are you physically located in front of?  Specifically, are
>> you sitting in front of THAT, and logged in to THIS via ssh?
>>
>> If so it should be as simple as passing '-X' to your ssh session, and
>> running your application on THIS.
>>
>> If that /doesn't/ work, can you post:
>>
>>     ssh THIS env | grep DISPLAY
>>     ssh THIS type xauth
>>     ssh -X -v THIS /usr/bin/xterm
>>
>> (If you don't have /usr/bin/xterm on THIS then, please, substitute some
>>  other X11 program that is installed.)
>>
>> That will help work out where the process is going wrong
>
> Not a trivial question :-) and not as simple as -X ....

I figured. :)

> I'm sitting in front of THIS machine, and logged in I run a program on
> this machine, say xeyes or xmsg I want the display of that program on
> THAT machine

OK: you have two options here, more or less.

One is that you can run the X session direct over the network; that has
several steps:

1. Turn on TCP sockets for X on THAT, which are disabled by default
   these days.
2. Enable connections from THIS: THAT# xhost +THIS  # not very secure...
3. Set your display on this: THIS# export DISPLAY=THAT:0
4. Run your application.

That has no real security, since everything (including keystrokes)
crosses the network clear-text, and authentication is IP based.

You can season that with the X security stuff, but I wouldn't suggest
you bother, since it doesn't really improve your security position
much.  Do this only on a trusted network.


Another is to establish some sort of secure tunnel from THIS to THAT and
run your X traffic over that.  ssh is the obvious choice, but
alternatives are possible.

For me, I would probably do it like this:

  THIS# ssh THAT -t env DISPLAY=:0 ssh -Xv THIS /usr/bin/xterm

That logs in to THAT, sets the DISPLAY variable, then connects back to
THIS via SSH to run the X application.  From that xterm I could start
everything else.


Otherwise, I would consider enabling X TCP connections from localhost on
THAT, then using a reverse SSH tunnel to connect THIS:6000 to THAT:6000,
and set DISPLAY=localhost:0 on THIS.

You would have to copy your xauth details by hand, though, which is less
fun than you might hope.

Regards,
        Daniel
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Reply via email to