linux – 如何找到kvm guest虚拟机的VNC UI的屏幕(以及端口)?或者如何分配它

前端之家收集整理的这篇文章主要介绍了linux – 如何找到kvm guest虚拟机的VNC UI的屏幕(以及端口)?或者如何分配它前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有一种直接的方法来查找KVM来宾绑定到的VNC屏幕(即端口号减去5900)?

我的所有guest虚拟机都配置为在启用VNC的情况下运行,但它们占用端口的顺序是随机的.

或者,有没有办法在配置(来宾或主机)中分配它们,以便每个相应的来宾将占用预定义的端口?!

解决方法

既然你正在使用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显示端口的特殊关联是由于使用了开放星云)

编辑:现在,您可以使用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
}

猜你在找的Linux相关文章