此安装方法只适用于centos7以上的版本

一,安装

安装之前要更新yum源

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

以root用户运行以下命令来安装vncserver;
yum install tigervnc-server 
同样运行以下命令来安装vncviewer;
yum install vnc

二,配置

2.1,vncserver的配置,创建一个新的配置文件,以开启1号窗口为例(也可以同时开启多个窗口,修改数字即可),方法如下:
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service
或者再增加一个窗口: 
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:2.service

 

 2.2,编辑/lib/systemd/system/vncserver@:1.service,设置用户root相关参数

[Service]
Type=forking(在第37行)
# 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 -geometry 800x600" (在41行修改)
PIDFile=/root/.vnc/%H%i.pid(在42行增加这一行)
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

 User=root

 三,应用

更新systemctl以使其生效;
systemctl daemon-reload 
设置vncserver的密码;
 vncpasswd root
启动该服务用来启用vnc的1号窗口;
systemctl start vncserver@:1.service  或者 vncserver :1
关闭1号窗口:
systemctl stop vncserver@:1.service   或者 vncserver -kill :1
 
设置为开机自动启动;
systemctl enable vncserver@:1.service

四,验证

通过vnc viewer连接,输入设置的用户名和密码,就可以连接了,至vncserver搭建完成了

 

 

 

这个问题是很多人容易忽视的问题,也是造成连接成功后黑屏的原因之一。

在CentOS中,xstartup的文件路径为:/root/.vnc/ (可以通过locate xstartup来查看xstartup的文件路径)

所以需要执行:chmod 777 /root/.vnc/xstartup

如果还是黑屏就要安装图形化界面的安装包:yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

安装完成之后执行:startx命令

再去通过viewer去连接就成功的可以看到图形化界面了

 增加普通用户连接vncserver的方法:前置条件  linux上需要提前有这个用户(例:test123)

步骤一:修改/etc/sysconfig/vncservers,添加oracle用户,修改后内容如下:(vi  /etc/sysconfig/vncservers)

 

 如果增加多个用户,就在vncservers后面增加3:xxx

步骤二:切换用户(test123),启动vncserver  (vncserver   :2)

步骤三:切换到root用户,执行systemctl enable vncserver@:2.service

 

 

 

 

 

注意:一:安装之前,一定要关闭防火墙

    1. 关闭防火墙
      systemctl stop firewalld.service
    2. 禁止firewall开机启动
      systemctl disable firewalld.service
    3. 查看默认防火墙状态
      firewall-cmd --state
    二:如果重启之后,连接不上,请从新登录上linux上机器,从新运行一下systemctl start vncserver@:1.service  或者 vncserver :1
posted on 2020-07-07 15:23  松晨  阅读(2513)  评论(0编辑  收藏  举报