Now for the nastiest problem. My intention was, for applications like Evolution and The Gimp, to use Xwindow in the traditional fashion; the program actually runs on my main Linux machine, but displays the GUI windows on the “X server”, which is the screen on the laptop. Normally, all you have to do to make this happen is, enter the command “xhost +”, then a command that looks something like this:
/usr/local/bin/ssh2 crow "export DISPLAY=laptop:0 ; /usr/local/bin/evolution-2.2"
This says, “log into the 'crow' machine, set the X display to 'laptop', then run evolution”. The result I got was a permission error, telling me that “crow” wasn't able to access “laptop”. This is the error that you get if you don't enter the “xhost +” command.
I tried a lot of things to fix this. There's a file in the home directory called .Xauthority that's supposed to control access to the X server, and you run a program called “xauth” to add things to it. I tried this, and it made no difference. I even downloaded and installed a more recent version of Xwindow, thinking that there might a bug in the version supplied with RedHat Enterprise that got fixed later. Nothing doing. After much hair-pulling and swearing at two different computers, I got a clue: when I ran “ps -auxw”, I noticed that there's a “-auth” parameter in the command that starts “X”. This led me to the file /etc/X11/grm/gdm.conf. There's a line it it that reads:
#DisallowTCP=true
Uncommenting this, and changing the value to “false” solved the problem.