Como encontrar qual tela (e, portanto, porta) a UI VNC para um convidado kvm possui? Ou como atribuí-lo

5

Existe uma maneira simples de encontrar a tela do VNC (ou seja, o número da porta menos 5900) na qual um convidado do KVM está ligado?

Meus convidados estão todos configurados para rodar com o VNC ativado, mas a ordem em que eles ocupam as portas é aleatória.

Como alternativa, existe uma maneira de atribuí-los na configuração (de convidado ou host), para que cada convidado respectivo ocupe uma porta predefinida?!

    
por 0xC0000022L 23.11.2011 / 20:29

3 respostas

10

Como você está usando libvirt , pode simplesmente perguntar!

root@onhost1:~# virsh list
 Id Name                 State
----------------------------------
  1 one-34               running
  2 one-36               running
  3 one-38               running

root@onhost1:~# virsh vncdisplay one-34
:34

root@onhost1:~# virsh vncdisplay 1
:34

(minha correlação particular de nome para a porta de exibição do VNC é devido ao uso da Open Nebula)

EDIT: Hoje em dia, você pode usar domdisplay para obter o URI do display seja VNC ou Spice:

○ → virsh domdisplay win-michael
vnc://127.0.0.1:0

○ → for dom in $(virsh list --name); do echo -n "$dom: "; virsh domdisplay $dom; done
win-michael-m: vnc://127.0.0.1:0

Aqui está um one-liner para executar isso para todos os convidados em execução de uma só vez:
for i in $(virsh -q list|awk '{print $2}'|sort); do
  echo -e "3[01;31m$i3[00m -> $(virsh vncdisplay $i)"
done

Também fez isso em uma função que ordena a saída pelo número da porta:

function vnc-list
{
  for i in $(virsh -q list|awk '{print $2}'|sort); do
    PORTNUM=$(virsh vncdisplay $i|cut -f 2 -d ':')
    printf "% 2d: 3[01;32m%.20s3[00m\n" "$PORTNUM" "$i";
  done | sort -n
}
    
por 09.02.2012 / 15:33
3

Eu corria:

ps aux | grep "VM name/config"

Anote o ID do processo e, em seguida,

netstat -apn | grep "process ID"

Isso deve mostrar que você está portando aberto por esse processo.

    
por 23.11.2011 / 21:10
2

Para definir a exibição, simplesmente forneça explicitamente a opção -vnc <ip:display> para qemu-kvm. Veja a página man para o qemu-kvm , especialmente a seção do parâmetro -vnc para detalhes.

    
por 23.11.2011 / 21:58