系统版本内核

uname -r
3.10.0-514.10.2.el7.x86_64

cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core)


第一步

#检查系统是否有安装tigervnc-server软件包

rpm -qa |grep vnc
gtk-vnc2-0.5.2-7.el7.x86_64
gvnc-0.5.2-7.el7.x86_64

默认的系统未装tigervnc-server软件包


第二步

#安装tigervnc-server软件包

yum install tigervnc*

使用yum 安装依赖包全部安装好,不用寻找对应的依赖关系。


第三步

#验证tigervnc-server软件包是否安装

rpm -qa |grep vnc
tigervnc-server-1.3.1-9.el7.x86_64
tigervnc-1.3.1-9.el7.x86_64
gvnc-0.5.2-7.el7.x86_64
gtk-vnc2-0.5.2-7.el7.x86_64
tigervnc-server-applet-1.3.1-9.el7.noarch
tigervnc-server-minimal-1.3.1-9.el7.x86_64
tigervnc-license-1.3.1-9.el7.noarch
libvncserver-0.9.9-9.el7_0.1.x86_64
tigervnc-icons-1.3.1-9.el7.noarch
tigervnc-server-module-1.3.1-9.el7.x86_64
remmina-plugins-vnc-1.0.0-8.el7.nux.x86_64



第四步

#创建一个新的VNC配置文件,/lib/systemd/system/[email protected],这是一个配置文件模版,可以拷贝一份出来进行相关修改,比如我这里是开启2号窗口作为远程桌面。

cd /lib/systemd/system
cp [email protected] vncserver@:2.service


第五步

#使用VI编辑器修改vncserver@:2.service,把如下配置文件里修改为root 。注意root的家目录是直接在根下。

[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=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

网上很多的教程设置成自定义用户,但是实际配置都不成功 ~!启动会报如下错误~~!

 systemctl status vncserver@:2.service

● vncserver@:2.service - Remote desktop service (VNC)
   Loaded: loaded (/usr/lib/systemd/system/vncserver@:2.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2017-06-09 11:14:56 CST; 6s ago
  Process: 4154 ExecStop=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
  Process: 4117 ExecStart=/usr/sbin/runuser -l centos -c /usr/bin/vncserver %i (code=exited, status=1/FAILURE)
  Process: 4113 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 4117 (code=exited, status=1/FAILURE)
Jun 09 11:14:56  runuser[4117]: Password:

第六步

#更新systemctl,使刚才的修改生效
systemctl daemon-reload


第七步

#设置用户vnc的密码

vncpasswd root
Password:
Verify:

#再次输入密码进行确认


第八步

#使用2号窗口启动VNC服务

vncserver :2
New 'wanghualang.com:2 (root)' desktop is wanghualang.com:2
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/wanghualang.com:2.log

也可以使用 如下命令来启动

systemctl start vncserver@:2.service

启动之后可以使用 如下命令查看启动是否正。

systemctl status vncserver@:2.service

启动成功后可以加入到开机自启动 添加如下行。

vim /etc/rc.local 

#vnc up 
/usr/bin/systemctl start vncserver@:2.service


第九步

临时关闭selinux

setenforce 0

或者长期关闭

vim  /etc/selinux/config
SELINUX=disabled

关闭防火墙

systemctl stop firewalld.service #停止
systemctl disable firewalld.service #禁用

第十步

在Windows下,安装VNC Viewer,输入正确IP地址、窗口号和密码,即可远程。

例如  10.0.10.10:2