CentOS7-远程桌面系列-服务器VNC Server与客户端VNC Viewer

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_42713970/article/details/86631519
  • 简述:提供Window/Linux 远程连接到CentOS7 桌面的方案

目录

安装配置

问题处理

优化

简介

待优化


安装配置

  • CentOS(VNC Server)
    • 用root用户,安装VNC Server:yum install tigervnc-server
    • 启动VNC服务器:vncserver
    • 第一次启动时候,需要设置密码,并且会提示是否要创建view-only password
  • Window(VNC Viewer)
    • 下载和安装VNC Viewer
    •     
    • 下载页面地址:https://www.realvnc.com/en/connect/download/viewer/
    • window版直接下载地址:https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-6.18.625-Windows.exe
    • 采用迅雷方式下载,出现任务失败的情况,则采用浏览器方式下载
    • 不支持中文,语言选择 English
    • File --> New connection
    • VNC Server  值为 ip:port (例如:192.168.98.102:5901 或者 192.168.92.102:1)
      • 建议CentOS设置成静态IP,以免每次都要执行ifconfig,然后改变这个值
      • 端口,为 5900+窗口 图2 有提示 New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1 则 端口号为5901
      • 端口也可以是窗口号,VNC Viewer会自动映射为5900+窗口
      • VNCServer 可以同时开多个,不同的窗口,窗口号也是不同,端口也不同
      • Name 值为 连接名,可随意命名
      • Options-->Scaling 可选Scale to fit height 就可以看到CentOS全屏。可按照个人需要调整。连接成功之后,也可以点击菜单中的设置进行修改。
    • Centos(tigervnc) 连接到CentOS上
      • 安装:yum install tigervnc
    • Centos(vinagre 远程桌面查看器) 连接到CentOS上
      • 安装:yum install vinagre
      • 应用程序-->工具 --> 远程桌面查看器
      • 主机地址 值设置与window上一致。

问题处理

      

  • 虚拟机上的CentOS 连接不上
    • 虚拟机上的VNC设置 打勾
  • CentOS 防火墙,按照需要,对防火墙进行设置
    • 关闭当前防火墙:systemctl stop firewalld.service
    • 关闭开机启动防火墙:systemctl disable firewalld.service
    • 防护墙管理,开启对应端口:firewall-cmd --zone=public --add-port=5901/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
    • 服务器的CentOS,不建议直接关闭防火墙,应采用开启端口方式
  • 客户端黑屏  CentOS 执行:chmod 755 /root/.vnc/xstartup

优化

  • 静态IP设置
    • 执行 ifconfig 查看网络接口名称
    •  
    • 编辑配置文件,vim /etc/sysconfig/network-scripts/ifcfg-网络接口名称
  • 修改 BOOTPROTO=static ONBOOT=yes,配置IP、网管、子网掩码、DNS(根据自己网络情况调整)
    IPADDR=192.168.1.104     
    GATEWAY=192.168.1.2    
    NETMASK=255.255.255.0    
    DNS1=192.168.1.2
  • ​​​​​​​​​​​​​​​​​​​​​
    • 重启网络服务:service network restart
  • 关闭 vncserver命令 启动的 vncserver
  • vncserver本身提供的命令:vncserver -kill :[number]      (number 为 VNC Server窗口号)
    • 采用kill进程方式(不建议)
      • 查看vnc进程:ps -ef|grep -i vnc  或 vncserver -list
      • 关闭进程(先关闭vncserver上的应用,直接关闭进程,vncserver不会自动关闭):kill -9 进程号
      • 删除对应lock文件: rm -f /tmp/.X[VNC Server窗口号]-lock      和   rm -f /tmp/.X11-unix/X[VNC Server窗口号]
  • 设置密码:vncpasswd root
  • 启动特定的服务器号的VNC Server:vncserver :[number]
  • 开启自启动
    • 配置service文件:cp /lib/systemd/system/[email protected] /lib/systemd/system/vncserver@:1.service
    • vi /lib/systemd/system/vncserver@:1.service
    • <USER>改为root(或者其他用户),如果没有/home/root 目录,将/home/<USER> 改为/root
    • 启用vnc的1号窗口;systemctl start vncserver@:1.service  或者 vncserver :1
    • 关闭vnc的1号窗口:systemctl stop vncserver@:1.service   或者 vncserver -kill :1
    • 开机启动vnc的1号窗口:systemctl enable vncserver@:1.service
    • 开机禁用vnc的1号窗口:systemctl disable vncserver@:1.service
    • 多个窗口,改变对应的窗口号
  • 查看vnserver的所有窗口:vncserver -list

简介

  • 控制原理:VNC是把被控制端的屏幕做成图像,经过压缩后传送到控制端,控制端的控制信息(如鼠标信息)传送到被控制端后进入消息队列。
    • 其控制是基于tcp/ip的,其中vnc server扮演了双重角色,vnc protocal是基于RFB protocal的。
    • 数据的进行再server上,viewer只是作为一个显示终端,类似于windows下的mstsc。

       客户端                                         X服务器                                            应用程序

vnc viewer<----------------------->Xvnc(vnc server)<------------------------>applications

                       (vnc protocal)                                             (X protocal)                    

扫描二维码关注公众号,回复: 5573207 查看本文章
  • 截屏方式
    • VNC使用的截屏方式比较独特,它有两种方式:第一种是使用钩子自动报告需要截屏的区域;第二种是轮询某一个区域(如前景窗口)。截屏后使用某种压缩算法压缩后发送。
  • 传输方式
    • RFB协议传输:在控之端不能直接改变显示大小,只能进行缩放,如缩放为原大小的几倍。原理是在远程机器上运行一个额外的X服务器,X服务器和客户机器都在远程跑。然后通过RFB协议用自己的客户端显示到本地。
    • X协议:X 视窗系统提供了一个公开协议,由其客户程序可以查询和更新 X 服务器上的信息。X 视窗系统(X 协议)允许网络中不同计算机上的进程在其它网络显示器上显示内容。
  • 特点
    • 同样可能远程连入UNIX、Linux进行图形化操作的还有流行的Xmanager,VNC与之相比——两者工作原理不一样。
    • 前者(VNC)是远程连入操作系统,所有操作在UNIX、Linux主机服务端进行,即使操作过程中“本地电脑与操作主机网络断开”,也不影响操作的顺利进行;
    • 而后者(Xmanager)是通过端口将主机服务器的UI界面引导到本地电脑进行展现,如操作过程出现“本地电脑与操作主机网络断开”,操作将中断失败!如果操作中进行的工作任务非常重要,不能中断,如ORACLE RAC实施,结果是灾难性的!
    • 更重要的是,VNC是免费的、开源的,Xmanager你可能用的是破解注册版的。

待优化

  • 暂不支持文件传输

                    

猜你喜欢

转载自blog.csdn.net/weixin_42713970/article/details/86631519