I normally access my home PC through SSH (no GUI).
To do that, you should first config your router in order to grant SSH port forwarding. You can usually access the router configuration pages by looking up the IP of the gateway (Connection Information > Default Route). Most modern routers have presets for configuring several applications, including SSH. If you need to forward the port manually, though, set it so that any incoming connections through port 22 will be routed to the local IP of your home computer.
Then, you need to install the SSH deamon on your home PC:
sudo apt-get install SSH
After this, you'll be able to access from client PCs with a simple:
where IP is the IP of your home PC. You may want to make it "static", and for this I can suggest to configure a host on http://www.no-ip.com and then install
noip2 on Ubuntu.