Eu também tenho um servidor headless em execução em um datacenter remoto como um host KVM. Eu rapidamente fiquei irritado ao tentar acompanhar as portas VNC sempre em mudança dos convidados. Minha solução foi configurar um vncserver com um ambiente de desktop (Gnome no meu caso) e instalar o virt-manager para lidar com as máquinas virtuais. É uma maneira muito mais fácil de administrar os convidados IMHO. Eu usei este howto do CentOS Wiki para configurar o servidor VNC, a abordagem deve ser semelhante no Ubuntu.
Se você não quiser fazer isso e só quiser que ele funcione com virt-install
, primeiro você terá que descobrir em qual porta o servidor convidado VNC está sendo executado. O nmap é uma maneira rápida de encontrar a porta no seu servidor:
$ nmap -p 5900-5910 localhost
Você também pode especificar a porta como Joris disse, mas se você tiver outros convidados em execução, certifique-se de selecionar uma porta livre.
Uma vez que você sabe o número da porta, você pode criar um túnel SSH do seu sistema desktop para o servidor com algo como:
$ ssh -c blowfish-cbc -N -L 5905:localhost:5905 User@HostIP
Agora você tem um túnel que mapeia a porta 5905 na sua máquina desktop com a porta 5905 em seu servidor. Agora você deve poder usar qualquer cliente VNC para se conectar ao localhost: 5 (ou localhost: 5905) em seu sistema de desktop e obter acesso ao convidado em: 5 no servidor.