Eu fiz a mesma coisa com um debian, usando ssh.
Primeiro de tudo, você deve ter certeza de que seu IP não é dinâmico (caso contrário, veja um serviço como no-ip). Depois disso, você tem que abrir sua porta ssh (padrão, 22 - mas sugiro alterá-lo) no seu roteador e você está livre para acessar o seu Ubuntu usando ssh
Para uma interface gráfica, eu geralmente executo um tightvncserver a partir do ssh e então eu me conecto a ele com qualquer cliente vnc