CentOS7 下 VNC 安装配置操作指引
目录
- Vnc 概述 2
- Vnc 安装部署 2
2.1 环境检查 2
2.2 图形化桌面安装 3
2.3 Vnc 软件安装 4 - Vnc 配置 5
3.1 需要了解的关键文档 5
3.2 Vnc配置文件配置 5
3.3 建立VNC用户 7 - Vncserver 服务运行 7
4.1 vncserver 启动 7
4.2 vncserver 自启动 9
4.3 Vncserver 关闭 9 - 防火墙配置 9
- Vnc 客户端安装步骤 10
6.1 软件安装 10
6.2 环境设置 14 - Vnc 连接黑屏解决办法 15
7.1 修改xstartup 文件 15
7.2 设置xstartup文件权限 16
7.3 配置vncservers文件 16
7.4 重启主机 16
1.Vnc 概述
VNC:virtual Network Console 虚拟网络控制台。是一款常用的远程控制工具软件。
VNC 包括以下四个命令:vncserver,vncviewer,vncpassword及vncconnect。
VNCclient端通过VNC协议远程连接到vnc server端,进行桌面共享及交互;
常用的VNC软件主要有:RealVNC、TightVNC、TigerVNC、UltraVNC。
RealVNC:由VNC团队部分成员开发,分为全功能商业版及免费版;
TightVNC:精简型,较节省带宽;
TigerVNC:是基于RealVNC 4和X.org代码库的VNC的高速版本;
UltraVNC:可结合Active Directory 及NTLM的账号密码认证,但仅有Windows版本。
VNC默认使用TCP端口5900。
VNC服务使用的端口号与桌面号相关,端口从5900开始,对应关系如下:
桌面号为“1” ---- 端口号为5901
桌面号为“2” ---- 端口号为5902
桌面号为“3” ---- 端口号为5903
……
基于Java的VNC客户程序Web服务TCP端口从5800开始,对应关系如下:
桌面号为“1” ---- 端口号为5801
桌面号为“2” ---- 端口号为5802
桌面号为“3” ---- 端口号为5803
2.Vnc 安装部署
2.1环境检查
在安装之前,需要先检查下系统版本以及是否已安装vnc软件。
而且,因为client通过vnc连接到server端的桌面,因此,在安装部署VNC server之前,Linux需要先安装好图形化桌面。
[root@localhost ~]# cat /etc/redhat-release #检查系统版本
[root@localhost ~]# rpm -qa | grep vnc #检查是否已安装vnc
[root@localhost ~]# systemctl get-default #检查当前运行级别
[root@localhost ~]# yum grouplist #检查可安装的group
Available Environment Groups:
GNOME Desktop
Available Groups:
Graphical Administration Tools
检查可以看到支持安装GNOME桌面及对应的图形化管理工具。
2.2图形化桌面安装
使用yum命令开始安装GNOME包及图形化管理工具。
[root@localhost ~]# yum groupinstall "GNOME Desktop"
[root@localhost ~]# yum groupinstall "Graphical Administration Tools"
安装完后,再进行检查一遍,如下结果表示图形化桌面已安装OK:
[root@localhost ~]# yum grouplist
Installed Environment Groups:
GNOME Desktop
Installed Groups:
Graphical Administration Tools
2.3Vnc 软件安装
图形化桌面安装好后,然后通过yum安装tightVNC软件包:
[root@localhost ~]# yum isntall nvc-server
安装完毕后,再次检查下vnc安装包
[root@localhost ~]# rpm -qa |grep vnc
3.Vnc 配置
安装好后,不要急着开始启用,先了解下vnc几个基本配置文件。
3.1需要了解的关键文档
/lib/systemd/system/vncserver@.service #vnc配置文件
/usr/lib/systemd/system/vncserver@.service #vnc配置文件
/etc/systemd/system/vncserver@:N.service #vnc配置文件,N代表数字
/etc/sysconfig/vncservers #vnc user配置文件
/usr/bin/vncconfig
/usr/bin/vncpasswd #vnc用户密码更改进程
/usr/bin/vncserver #vnc 服务进程
3.2Vnc配置文件配置
打开 /lib/systemd/system/vncserver@.service 文件,按提示进行配置:
按如上提示:
第一步:copy /lib/systemd/system/vncserver@.service 文件到 /etc/systemd/system/ 目录下,并命名为vncserver@:1.service
#cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
第二步:配置 /etc/systemd/system/vncserver@:1.service文件
[root@localhost system]# vim /etc/systemd/system/vncserver@:1.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
#Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l user -c "/usr/bin/vncserver %i"
PIDFile=/home/user/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
第三步:重新加载systemd服务br/>vncserver@.service文件配置好后,就需要重新加载systemd服务。
[root@localhost system]# systemctl daemon-reload
第四步:启动vncserver服务。
[root@localhost system]# systemctl start vncserver@:1.service
注意:如有多个用户需要通过VNC 连接到vnc server,可重复以上步骤,建立多个vncserver@:N.service 文件,并运行。
3.3建立VNC用户
新增一个用户并设置密码:
[root@localhost system]# useradd user
[root@localhost system]# passwd user
以刚才建立的用户登录:
[root@localhost system]# su - user
[user@localhost ~]$ vncpasswd
如上图所示,可以设置vnc账号两个密码,vncpasswd密码具有用户正常的权限;
使用 view-only密码连接vnc,仅有桌面浏览权限。
设置vncpasswd密码后,在账号的家目录里就会自动建立 .vnc 文件:
4.Vncserver 服务运行
4.1vncserver 启动
可以针对不同的vnc用户启用对应的vncserver服务。
[root@localhost ~]# systemctl start vncserver@:1.service
[root@localhost ~]# systemctl status vncserver@:1.service
启用服务后,再检查服务状态,从上图可以看出,vncserver@:1.service 已加载 /etc/systemd/system/vncserver@:1.service 文件。
再检查监听的端口:
[root@localhost ~]# netstat -nutpl |grep vnc
[root@localhost ~]# ps -ef |grep vnc
查看日志信息:
每个vnc用户目录下都会生成一个对应的日志文件
[root@localhost ~]# tail -f /home/user/.vnc/localhost.localdomain\:1.log
4.2vncserver 自启动
[root@localhost ~]# systemctl enable vncserver@:1.service
命令执行后会在 /etc/systemd/system/multi-user.target.wants/ 下建立一个对应的ln连接,以后开机时就会自动加载vncserver@:1.service进程。
4.3Vncserver 关闭br/>使用以下命令关闭vncserver@:1.service进程,仅关闭此用户的vnc服务,对其他用户的vnc连接不受影响。
[root@localhost ~]# systemctl stop vncserver@:1.service
5.防火墙配置
全部配置好后,服务也启动了,还需要针对该服务放通防火墙。
可以针对端口进行放通,也可以针对该服务进行放通。
防火墙的默认端口为TCP的5900 - 590N,第一个vnc用户使用TCP 5901,则第二个vnc用户使用TCP 5902,依次类推。
[root@localhost~]# firewall-cmd --zone=public --add-port=5901/tcp --permanent
如果担心端口变化,也可以针对服务进行放通:
[root@localhost ~]# firewall-cmd --add-service vnc-server --permanent
服务放通后,还需要重新加载防火墙,使更改生效:
[root@localhost ~]# firewall-cmd --reload
[root@localhost ~]# firewall-cmd --list-services
6.Vnc 客户端安装步骤
6.1软件安装
可以根据自己的爱好从官网下载对应的软件。我这里使用realvnc viewer。
首先进入官网:https://www.realvnc.com/en/connect/download/viewer/
下载后双击VNC-Viewer-6.19.715-Windows.exe开始安装:
选择语音:
点击下一步:
接受许可协议:
选择安装组件:
点击安装:
安装完毕后,进入安装目录C:\Program Files\RealVNC\VNC Viewer打开vncviewer程序:
输入连接的vncserver IP地址及端口:
在 vncviewer会自动保留刚才所建立的连接:
双击打开,输入用户的vnc连接密码:
6.2环境设置
如果是第一次登陆的话,还需要配置下基本的桌面环境,
语言设置:
位置服务设置:
在线账号,可以直接跳过,后续有必要可在设置:
配置好后,点击开始应用:
到此,VNC已基本配置OK,可以正式使用。
7.Vnc 连接黑屏解决办法
通过vncviewer连接后,出现黑屏,主要处理办法:
7.1修改xstartup 文件
进入vnc用户家目录下的xsartup文件
[root@localhost ~]# vim /home/user/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
#/etc/X11/xinit/xinitrc
#vncserver -kill $DISPLAY
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
gnome-session &
7.2设置xstartup文件权限
Xstartup权限默认为
可以设置权限为777
[root@localhost ~]# chmod 777 /home/user/.vnc/xstartup
7.3配置vncservers文件
[root@localhost ~]# vim /etc/sysconfig/vncservers
#THIS FILE HAS BEEN REPLACED BY /lib/systemd/system/vncserver@.service
VNCSERVERS=”1:root”
VNCSERVERARGS[1]="-geometry 800×600"
7.4重启主机
配置完毕后,重启服务,如还是不行,再重启主机。
Zabbix5.0企业级分布式监控系统:精讲与企业应用:
Zabbix5.0企业级分布式监控系统