Remote Desktop on Different Network
In order to control another Mac you'll need to go to 'Apple Menu -> System Preferences...' on the Mac you want to control and enable 'Remote Management'.
In the 'Allow access for' section of 'Remote Mangement' you can leave the default selection of 'All Users', which will allow any account on the controlled Mac to be used to login for remote management or you can select 'Only these users' and define specific accounts that can be used.
Click 'Options...' to define what remote management actions are allowed. You'll probably only need to select 'Observe' and 'Control'.
If you're both on the same network then you can do a Command + K from the controller Mac and type vnc://mygirlfriendsmac or vnc://ipaddress to connect to the Mac you want to control.
Regarding the issue with controlling a Mac on a different network, this is where things can get complicated since there are a lot of variables depending on what network the Mac you want to control is on. This is one possible solution:
First, you'll need to know if port 5900 is open on the network the Mac to be controlled is on. A lot of firewalls block this port. (You can do a VNC tunnel on port 80, but that's probably beyond the scope of this question.)
If port 5900 is open then you'll need to know the publicly accessible IP address of the Mac to be controlled. One way to do this is to use .
This is how DynDNS works:
You can signup for a free account that allows you to create a DNS entry that you define (ie- mygirlfriendsmac.dyndns-ip.com). You'll then need to install the DynDNS app on the Mac you want to control. This app will send the public IP address to DynDNS every few minutes so that you'll be able to do a Command-K on your Mac and connect to the DNS entry you defined (mygirlfriendsmac.dyndns-ip.com) and you can be assured it will be mapped to the current IP address of the Mac you want to control.