[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Remote connections to X apps
Preface: Steve has been helping me establish remote connectivity to my
home system(s). Unlike most users, I have a static external IP address.
The Linksys WRT54G router at the house forwards specified TCP/UDP
ports/services to internal machines using their internal (192.168.x.x)
addresses.
My objective is to establish the capability to run X applications on my
home system(s) and have them display on any remote Linux, UNIX, or Windows
system I choose. Thus far things have progressed to the point where I am
able to reliably connect to my main home server (lion) from my Windows PC
at work using secure shell from a Cygwin bash prompt. While CLI ssh and
scp are good and useful, the ability to run graphical applications on my
home server with their X displays remoted to my location would be a major
step up.
I realize that using a Windows PC and Cygwin rather than a Linux laptop
adds additional complexity, but if I can get things working on a
Windows/Cygwin box then a Linux box would be a no brainer.
But enough preliminaries. The next step is to get a simple X application
on the remote host to display on my local PC. I'm logged onto the home
server with the following connection:
$ ssh -X -Y -l <user> <ip_address>
<user>@<ip_address>'s password: **************
Last login: Wed Jul 18 12:12:12 2007 from <remote>
Red Hat Enterprise Linux Server release 5 (Tikanga)
Wed Jul 18 12:41:49 CDT
[<user>@lion] ~
$
Note that ssh's -X and -Y command line options allow X11 forwarding (see
'man ssh'). I've started Cygwin's X server on the PC here at work and
leave it running in background ready to display any X session sent to it.
A simple X application to try would be gedit:
$ gedit testfile.txt
cannot open display:
Run 'gedit --help' to see a full list of available command line options.
Steve suggested I try running 'mkxauth' to create an .Xauthority file. "On
which machine?", I hear you ask. Well, since there's no 'mkxauth' in
Cygwin, that leaves only the remote server (where gedit will actually
run). After reviewing the 'mkxauth --help' options, I type:
$ mkxauth -c <remote>
creating file /home/<user>/.Xauthority ... done
adding key for <remote> to /home/<user>/.Xauthority ... done
OK... let's try gedit again:
$ gedit testfile.txt
cannot open display:
Run 'gedit --help' to see a full list of available command line options.
Sigh. I try setting the display explicitly in the command line:
$ gedit testfile.txt --display=<remote>
cannot open display: <remote>
Run 'gedit --help' blah blah blah
What other setup/configuration requirements have I missed? For those who
might ask "Have you enabled X11 forwarding in the server's sshd_config
file?", the answer is yes. I have noted that /etc/services contains two
lines which refer to x11:
x11 6000/tcp X # the X Window System
x11-ssh-offset 6010/tcp # SSH X11 forwarding offset
I thought about adding them to the Linksys's router's forwarding table,
but because the entire session is running in an ssh (22/tcp) tunnel, I
think both of these are "don't cares".
Ideas or suggestions, anyone?
--Doc
-
To unsubscribe, send email to majordomo@silug.org with
"unsubscribe silug-discuss" in the body.