我有一个没有X11的干净安装的Ubuntu服务器,没有像ubuntu桌面、gdm、lightdm这样的桌面环境。我安装了tightvnc,qemu,并通过命令行准备了一个来宾vm,其中virt指向端口5900处使用vnc。
我理解在主机上拥有桌面环境(在本例中是Ubuntu服务器)以连接和监视主机本身的必要性。
但是,我不明白主机的桌面环境对于只连接到客户vm的情况是否是必需的。我认为它似乎复制了主机kvm和来宾vm的GUI。
我检查了一些指南,它们指向使用X11的vncserver。但是它与kvm上的vnc设置有什么关系,因为netstat告诉我qemu (5900)和vncserver (5901)正在监听两个端口?
到目前为止,我可以连接到端口5901,当然,我还可以通过图形GUI消息了解缺少X11。但是,从另一台PC机通过局域网连接到端口5900,仍然会陷入“连接”状态。
如何在不安装Ubuntu服务器18.04.2的桌面环境的情况下为来宾vm启用vnc?
发布于 2019-08-13 16:09:03
好的,我终于可以让它起作用了,所以我在这里张贴答案,以防有人需要它。
简而言之,我不需要在Ubuntu服务器上安装vncserver和桌面环境,就可以在KVM来宾上使用vnc。KVM确实带有内置的vncserver,因此它有不同的配置。在试图为主机Ubuntu服务器安装和配置vncserver时,我犯了一个很大的错误,因为在我的情况下,它是完全无用的。
要为KVM启用vnc,只需在/etc/libvirt/qemu.conf中启用以下两个选项
vnc_listen = "0.0.0.0"
vnc_password = your-password我的第二个错误是没有为vnc设置密码,所以vncviewer总是无法连接,即使在密码被设置为空的情况下也是如此。
之后,在/etc/libvirt/libvirtd.conf中启用以下选项
listen_tcp = 1当然,再次重新启动libvirt服务。
service libvirtd restart现在,可以通过类似于以下命令行安装KVM来宾:
virt-install [...] --graphics vnc,port=5900,listen=0.0.0.0从您想要连接到Ubuntu服务器的客户端PC中,确保转发vnc端口,类似于:
ssh -v -L 5900:127.0.0.1:5900 -N -f 192.168.1.100地址127.0.0.1:5900是Ubuntu服务器上vnc的默认本地主机地址。我不启用防火墙,所以我没有必要将端口5900添加到防火墙。
最后,在客户端PC上打开vncviewer并连接到vnc://127.0.0.1:5900,然后提供密码并享受您的机器。
发布于 2019-08-13 07:29:02
据我所知,KVM使用两个端口,分别用于输入(模拟键盘和鼠标)和输出(屏幕)。如果您只使用终端,那么使用SSH连接通常更好。
https://askubuntu.com/questions/1165313
复制相似问题