Как узнать, какой экран (и, следовательно, порт) имеет VNC UI для гостя kvm? Или как его назначить

Как узнать, какой экран (и, следовательно, порт) имеет VNC UI для гостя kvm? Или как его назначить

Есть ли простой способ найти экран VNC (т. е. номер порта минус 5900), к которому привязана гостевая система KVM?

Все мои гостевые системы настроены на работу с включенным VNC, но порядок, в котором они занимают порты, является случайным.

Или есть ли способ назначить их в конфигурации (гостя или хоста), чтобы каждый соответствующий гость занимал предопределенный порт?!

решение1

Поскольку вы используете libvirt, вы можете просто спросить об этом!

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

(моя конкретная связь имени с портом дисплея VNC обусловлена ​​использованием Open Nebula)

EDIT: В настоящее время вы можете использовать domdisplay, чтобы получить URI дисплея, будь то VNC или 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


Вот однострочный код для выполнения этой команды для всех запущенных гостевых систем одновременно:

for i in $(virsh -q list|awk '{print $2}'|sort); do
  echo -e "\033[01;31m$i\033[00m -> $(virsh vncdisplay $i)"
done

Также преобразовал его в функцию, сортирующую вывод по номеру порта:

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

решение2

Я бы побежал:

ps aux | grep "VM name/config"

Запишите идентификатор процесса, а затем

netstat -apn | grep "process ID"

Это должно показать, что этот процесс открыл порт.

решение3

Чтобы настроить отображение, просто явно укажите -vnc <ip:display>опцию qemu-kvm. Смотритестраница руководства по qemu-kvm, особенно -vncраздел параметров для получения подробной информации.

Связанный контент