virt-manager SSH连接无法查看虚拟机图形界面

起因

内网有个机器KVM上装了windows,临时想用一下,从Virt-Manager中添加了qemu+ssh连接,但是查看画面时提示错误

Error connecting to graphical console:
Guest is on a remote host, but is only configured to allow local file descriptor connections.

listen_tcp

搜索之后,找到/etc/libvirt/libvirtd.conf配置中,listen_tcp = 1这一行的注释去掉,重启libvirtd服务后,还是不行。

libvirtd-tcp.socket

问AI,找到了libvirtd-tcp.socket这个服务,启动它

sudo systemctl start libvirtd-tcp.socket

提示

Job failed. See "journalctl -xe" for details.

又问了一圈,要先停止libvirtd服务,再启动libvirtd-tcp.socket,最后再启动libvirtd服务

sudo systemctl stop libvirtd
sudo systemctl enable --now libvirtd-tcp.socket
sudo systemctl start libvirtd
ss -tulnp | grep 16509

tcp监听出来了,但是virt-manager还是同样的提示。

qemu.conf

AI又说,qemu+ssh根本不走tcp,其实配置在/etc/libvirt/qemu.conf中,于是去掉了spice_listen的注释。

spice_listen = "0.0.0.0"

还是不行,然后去看虚拟机的设置。Display Spice中的Listen Type是None,因为之前用的核显加速。 如果不用核显加速的话,这边改掉应该就可以了。


最后修改于 2026-08-11