How do I work with GUI tools over a remote server?

I have an Ubuntu server running on EC2 (which I didn’t install myself, just picked up an AMI). So far I’m using putty to work with it, but I am wondering how to work on it with GUI tools (I’m not familiar with Linux UI tools, but I want to learn). Silly me, I’m missing the convenience of Windows Explorer.

How to efficiently use 3D via a remote connection?

I have one weak PC (client) but with acceptable 3D performance, and one strong PC (server) which should be capable of running an application using OpenGL twice, i.e. once locally and once remotely for the client. Currently, I ssh -X into it, but the client’s console output states software rendering is used and I only get 3 frames per second (fps). Actually, ssh’s encryption is not necessary since this is on a LAN, but it’s what I already know for remote applications…