1.宿主机的vnc(virtual Network Computing)配置
安装rpm包
yum install tigervnc-server -y
为了防止干扰直接关闭防火墙和selinux
/etc/init.d/iptables stop
setenforce 0
配置vnc密码和启动vncserver服务
vncpasswd
vncserver
2.客户机的vnc
在qemu-kvm命令中有个参数-vnc DISPLAY,OPTION 这个参数会让qemu使用vnc而不是sdl(Simple DirectMedia Layer)
display:
host:d 表示vnc服务监听在host:(d+5900)这个套接字上,host为空则表示监听在0.0.0.0,比如-vnc :1 则表示监听在0.0.0.0:5901上
unix:path 用的不多,不解释(其实我也不知道..)
none 表示vnc已经被初始化,但不启动,需要时可以在vmm中使用change vnc DISPLAY,OPTION来启动
option:
reverse:表示反向到一个处于监听中的vnc套接字,所以,假设我们在客户端vncviewer -listen :1 ,它会告诉你它监听在某个端口,然后在宿主机上我们就可以-vnc ClientIP:port,reverse
password:表示需要密码才能连接,具体的密码必须到vmm(qemu monitor)中使用change vnc password设置
“tls” “x509=/path""sasl"等:安全通信相关,这里不解释
假设:
宿主机:192.168.2.188
win主机:192.168.2.106
linux主机:192.168.2.127
例子1:
在宿主机:
qemu-system-x86_64 -m 4096 -smp 8 -net nic -net user,tftp=/root/tftp,hostfwd=tcp::5022-:22 /root/kvm_vhost/redhat6.qcow2 -vnc 192.168.2.188:5907
在linux主机使用vncviewer 192.168.2.188:11807 可以正常访问
在win主机使用vnc viewer连接会黑屏,具体原因有待研究
例子2
在宿主机:
qemu-system-x86_64 -m 4096 -smp 8 -net nic -net user,tftp=/root/tftp,hostfwd=tcp::5022-:22 /root/kvm_vhost/redhat6.qcow2 -vnc 192.168.2.188:5907,password
在linux主机访问vncviewer 192.168.2.188:11807 提示需要密码,直接回车包认证失败错误
解决:在宿主机的命令后面加上 -monitor stdio,然后使用change vnc password设置vnc密码
例子3:reverse的使用
在linux主机上: vncviewer -listen :2
在宿主机:
qemu-system-x86_64 /root/kvm_vhost/redhat6.qcow2 -vnc 192.168.2.127:5500,reverse
linux主机的结果:自动弹出客户机的vnc界面
原文:http://linzb.blog.51cto.com/5192423/1877822