Let’s say that your main system is Ubuntu, and you are playing with a vmware installation of some other unix (maybe Ubuntu!) but you are NOT using a desktop there, you just installed the minimal X libraries. You would have to export your DISPLAY variable and everything, as usual before trying to use some X client application on your guest system, right?. Well, it doesn’t quite work. Not with Ubuntu at least. You have to do a number of things.
First, tcp connections don’t seem to work between vmware hosted boxes and your main box. To fix this, you have to type the following command in your host (your real box), please don’t ask me why:
sudo ethtool -K eth0 sg off rx off tx off tso off
Now that tcp connections work, you export your DISPLAY variable on your guest and then… no luck! Ubuntu ships with the X server not listening on port 6000 as you are used to! And with gdm forbidding any X connection. Ubuntu team says that’s because most people doesn’t need or do this. Come on guys! This is just so usual on the Unix world, why should we not have it by default? Or at least why don’t you state this loud and clear so the people who needs this don’t have to lose hours looking for info?
Rants apart, go and edit /etc/X11/xinit/xserverrc and remove the “-nolisten tcp” option from there.
And then, go and edit /etc/gdm/gdm.conf and find the line that says DisallowTCP=false and set it to true. Restart your gdm and there you go. Why do we have to make simple things so complicated?