If you are actually running (logged into and using) an X11 session on a
with an IP address avaulable to the actual host (or local) and you specify
on that host (with the xhost command) what hosts may connect, then yo u
can log into
a machine and alter your DISPLAY env var from the one created by ssh in
its session for X11 forwarding to be the IP address : X Session.SessiondID
of that host.
For example. I ssh to 192.168.0.1 from 10.0.0.1.
After I log in, i do this:
$ echo $DISPLAY
and I see:
If I have previously logged into a sesison on the target machine (could be
itself or another machine on the network) and set xhost to allow X11
display from the 192.168.0.1 host, then you can take the DISPLAY env var
from that target machine and alter the DISPLAY env var within your ssh
session to match that:
(Assuming bash, and sample SessionID/#)
$ export DISPLAY="targetmachineIP:0.0"
Now, when you start X apps from that ssh session, the graphics will all be
redireted to that DISPLAY instead of your local one.
(This was a method that was used to sometimes play pranks on people using
shared systems... Before web-popups, there were xeyes, xclock, and funky
screen mod popups where buddies would harass each other by altering each
other's X session contents)
Jonathan Stickel said:
I have an interesting problem with ssh and X11. I know how to use ssh
with X11 forwarding to my local machine. However, I have a program that
generates a series of image files, and it insists on connecting to an X
server to do so. Running this via ssh means that ALL the data involved
gets forwarded to my local machine and then back again; this is very
Is there any way to run ssh and tell it to use its own X server?
vox-tech mailing list