Be aware that the client/server paradigm is "backwards" for the X Window System: "clients" are the programs you run, the "server" is the thing that tells your monitor to emit light. So, in the typical X11-over-the-network case, your application on your Linode would be the "client" and the X server on your workstation would be the "server". In other words, you run the client on the server to talk to the server on the client.
There's two ways to do what you're trying to do here. The first is the quick-and-easy mostly-automatic way, which tunnels connections from a remote machine to your local workstation's X server over ssh. This is nice because you already have everything to make it go (assuming your workstation isn't running Windows or some other non-X11 platform). Downside is that it has some performance constraints and requires that you be logged in and connected for clients to get their X fix. Nevertheless, if you just need it to get something installed or to run an occasional command, or are working over a LAN, it's awesome.
In this scenario, the DISPLAY variable will be set automatically if ssh tunneling is working, so you shouldn't have to set that. There are a few things that have to be present for it to work properly; xauth on the "client" side (your Linode) is probably the one I forget most often. You shouldn't have to mess around with xhost on the "server" side (your workstation), generally speaking.
Also, try the -v option when you connect to make sure the ssh client is requesting forwarding:
Code:
rtucker@witte:~$ echo $DISPLAY # on my local machine
:0.0
rtucker@witte:~$ ssh -v framboise
OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /home/rtucker/.ssh/config
...
debug1: Requesting X11 forwarding with authentication spoofing.
...
rtucker@framboise:~$ echo $DISPLAY # on my Linode
localhost:10.0
If your local workstation's DISPLAY variable isn't set, ssh won't even try to negotiate X11 forwarding, for perhaps obvious reasons.
Code:
rtucker@witte:~$ unset DISPLAY
rtucker@witte:~$ echo $DISPLAY
rtucker@witte:~$ ssh -v framboise
OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /home/rtucker/.ssh/config
...
(no mention of X11 at all)
...
rtucker@framboise:~$ echo $DISPLAY
rtucker@framboise:~$
The second approach is to install an X server on your Linode and have clients connect to that, then have some way for you to interact with it. The traditional tell-your-monitor-to-emit-a-blue-pixel-there configuration won't work, since your Linode doesn't have a video card. So, you'll need to install something like vnc4server to make it go.
Per this page, I suspect you should just be able to
Code:
$ sudo apt-get install xorg vnc4server
$ vncserver :1
then connect a VNC client to port 5091 on your Linode and enjoy. Security and automation are left as an exercise for the reader.
I haven't tested this in awhile, 'tho I probably will if my wife keeps complaining about her PC being slower than some of my embedded systems. Nothing like ~50 ms of round-trip network latency to make you appreciate localhost.
_________________
Code:
/* TODO: need to add signature to posts */