Da Sie verwenden libvirt
, können Sie es einfach fragen!
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
(Meine besondere Korrelation des Namens mit dem VNC-Anzeigeport ist auf die Verwendung von Open Nebula zurückzuführen.)
BEARBEITEN: Heutzutage können Sie domdisplay verwenden, um den URI der Anzeige zu erhalten, unabhängig davon, ob es sich um VNC oder Spice handelt:
○ → 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
Hier ist ein Einzeiler, um dies für alle laufenden Gäste gleichzeitig auszuführen:
for i in $(virsh -q list|awk '{print $2}'|sort); do
echo -e "\033[01;31m$i\033[00m -> $(virsh vncdisplay $i)"
done
Hat es auch zu einer Funktion gemacht, die die Ausgabe nach Portnummer sortiert:
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
}
domdisplay
Befehl, um die allgemeinere URI zu erhaltenIch würde Rennen :
Notieren Sie die Prozess-ID und dann
Dies sollte zeigen, dass Sie durch diesen Prozess einen offenen Port haben.
quelle
Um die Anzeige einzustellen, geben Sie einfach explizit die
-vnc <ip:display>
Option qemu-kvm an. Weitere Informationen finden Sie in der Manpage zu qemu-kvm , insbesondere im-vnc
Parameterabschnitt.quelle