cockpit管理qemu虚拟机

·

高效登录虚拟机GUI

使用virt-viewer客户端spice协议登录

apt install virt-viewer
virt-viewer --reconnect win11
virt-viewer --wait win11
virsh domdisplay win11

连接局域网的虚拟机

#1. 如果远程宿主机也在跑 libvirtd 并允许远程连接,你还可以直接用:
# 这样 virt-viewer 会先通过 libvirt 查询到 SPICE 端口,然后自动帮你连上去(不用手动写端口)。
# 通常推荐这种方式,安全性更好(走 SSH)
virt-viewer -c qemu+ssh://user@<宿主机IP>/system <VM名称或UUID>
virt-viewer -c qemu+ssh://[email protected]/system win11

#2. 开放spice监听外部地址
# 修改listen='0.0.0.0' 表示允许外部访问(默认可能是 127.0.0.1,那就只能本机连)。
# port 可以固定(如 5901)或自动分配
sudo virsh list
sudo virsh dominfo win11
sudo grep -C 0 --group-separator="======" listen /etc/libvirt/qemu/win11.xml
sudo sed -i'' 's/127.0.0.1/0.0.0.0/' /etc/libvirt/qemu/win11.xml
# 一般需要配置密码,否则太不安全
## <graphics type='spice' port='5901' listen='0.0.0.0'>
##   <passwd>123</passwd>
## </graphics>
virt-viewer --spice-uri spice://192.168.7.99:5901 --spice-password 123

cat <<EOF > win11.vv
[virt-viewer]
type=spice
host=192.168.7.99
port=5901
password=123
delete-this-file=1
fullscreen=0
EOF
remote-viewer vm.vv
# 或者直接双击执行

# 可能的问题
# 音频/USB 不工作 SPICE 的辅助通道(如 5902)可能被防火墙阻断,需开放连续端口范围