上一篇写的阿里云CentOS 7.6 安装VNC实现远程桌面,虽然能够正常远程控制了,但是不能使用传文件的功能,所以换装RealVNC试试。
安装 RealVNC :
官网下载地址:https://www.realvnc.com/en/connect/download/vnc/linux/

建议尽量直接从官网下载安装包,因为我这里下载时非常慢,所以最后我是用迅雷下载的。先下载到本地,然后将安装包上传到服务器,比如放在/soft/VNC-Server-6.6.0-Linux-x64.rpm,接下来开始安装。
#先安装依赖文件 yum install xterm #安装RealVNC rpm -ivh /soft/VNC-Server-6.6.0-Linux-x64.rpm # 或 rpm -ivh /soft/VNC-Server-6.6.0-Linux-x86.rpm
如果你想从官网直接下载安装,请这样操作
#先安装依赖文件 yum install xterm #安装RealVNC rpm -ivh https://www.realvnc.com/download/file/vnc.files/VNC-Server-6.6.0-Linux-x64.rpm # 或 rpm -ivh https://www.realvnc.com/download/file/vnc.files/VNC-Server-6.6.0-Linux-x86.rpm
安装VNC的许可:
vnclicense -add VKUPN-MTHHC-UDHGS-UWD76-6N36A
查看当前系统的启动模式
systemctl get-default multi-user.target # 命令模式 graphical.target # 图形模式 # 修改启动模式为图形界面: systemctl set-default graphical.target
启动VNC服务端:
vncserver
开启VNC服务器的命令:
systemctl start vncserver-x11-serviced.service
设置开机启动:
systemctl enable vncserver-x11-serviced.service
检查是否开机启动:
systemctl list-unit-files vncserver-x11-serviced.service
重启VNC,使其开启重启生效
service vncserver-x11-serviced restart service vncserver-x11-serviced.service restart
添加端口号5900-5905
firewall-cmd --permanent --zone=public --add-port=5900-5905/tcp
重新加载防火墙
firewall-cmd --reload
查看5900端口是否是被VNC服务端使用
ss -lnp|grep 5900
因为前面输入了VNC许可,所以是Enterprise subscriptions(企业用户),企业用户时VNC默认使用的是Virtual Mode(虚拟模式)。

第一次安装到这时,我就直接远程连接到服务器,发现是VNC是 Virtual Mode ,没有桌面背景,灰/黑色屏(鼠标变成了x,忘了截屏,反正就是不能正常使用桌面),桌面只能看到2个图标,没有顶部菜单和底部任务栏。研究了很久很久,百度找到有人说是配置文件问题,试着修改了下,没有成功,还有人说是xstartup的权限问题
chmod 777 root/.vnc/xstartup
修改权限后还是没有成功。
最后看到官网有个说明,大概意思是在虚拟模式下centos安装VNC Connect 6.2+需要安装 Xorg,不再使用 Xvnc 了。终于看到了希望。


好吧,继续安装Xorg,
yum install xorg-x11-drv-dummy
安装完成,激动的连上去,还是和之前一样。
到底是哪里的问题呢?!
忽然想起之前百度时看到有人说是因为内存不足引起的。。。
最后成功的解决方法是:升级内存,原来服务器内存只有1G,升级到2G后,果然问题解决了,VNC连上服务器的桌面也正常了。
最后是卸载RealVNC
vncserver-virtual -clean rpm -e realvnc-vnc-server

安装这个RealVNC花了不少时间也踩了不少坑,也不知道之前的那些方法是否也起到一点作用,都记录下来做个备忘,也许能帮助到其他人,少踩点坑。