autoport=yes
ドメイン(libvirtの「仮想マシン」)の構成ファイルを設定して、実行時にVNCポートが自動的に割り当てられるようにしました。
外部からVMに接続できるように、このポートを取得する必要がありますが、そのための適切なAPIが見つかりません。libvirt-pythonバインディングを使用しているので、Pythonの方が優れています。
autoport=yes
ドメイン(libvirtの「仮想マシン」)の構成ファイルを設定して、実行時にVNCポートが自動的に割り当てられるようにしました。
外部からVMに接続できるように、このポートを取得する必要がありますが、そのための適切なAPIが見つかりません。libvirt-pythonバインディングを使用しているので、Pythonの方が優れています。
VNC ポート用の API が見つかりませんでした。新しいバージョンの libvirt にこのインターフェースがあるかどうかわかりませんか?
ただし、コマンドvirsh vncdisplay $domainName
を使用してポートを表示できます。注:/etc/libvirt/qemu.conf
enableを変更する必要がありますvnc_listen='0.0.0.0'
。
VNC ポートを取得するための API はありません。そのポートを見つけるには、XML ファイルを取得して解析する必要があります。もちろん、ゲストが破壊された (電源オフ/オフライン) 場合、そのポートの値は -1 になります。
char * virDomainGetXMLDesc (virDomainPtr domain, unsigned int flags)
<domain>
<devices>
<graphics type='vnc' port='5900' autoport='yes'/>
</devices>
</domain>