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界面
补充图形界面几点内容:
1.当使用vnc方式启动客户机的时候,很多时候宿主机的鼠标和客户机的鼠标不在同一个焦点上。
解决方法:在qemu-kvm启动时,加上-usb -usbdevice tablet 或者-device piix3-usb-uhci参数
2.显示相关的其他选项(qemu-system-x86_64)
-curses:让qemu将vga显示输出到使用curses/ncurses接口支持的文件模式界面
比如,利用xshell连接宿主机,使用qemu-system-x86_64 -m 4096 /home/kvm_vhost/redhat6.qcow2 -curses 命令,客户机的界面会直接覆盖宿主机的界面
-vga type:模拟vga卡类别,type有以下几种:
cirrus:默认类型
std:标准
vmware:提供对“vmware SVGA-II”兼容显卡的支持
none:关闭vga卡
以上类型,都可以在客户机中lspci查看
-no-frame:使用sdl显示时没有边框。
-full-screen:启动客户机时,全屏显示
-alt-grab:使用ctrl+alt+shit组合键去抢占和释放鼠标,默认ctrl+alt,所以我们切换到qemu monitor的时候摁ctrl+alt+2,如果使用此选项,则变为ctrl+alt+shift+2
-ctrl-grab:同上,只不过这里使用右ctrl