看到这篇博客首先恭喜你找到了正确的解决办法,我也是走了很多弯路总结出来的,如果对你有帮助我希望得到你的一个赞?,谢谢!
对于新系统,安装额外yum源:yum install epel-release
升级: yum -y update
清除缓存:yum clean all
以上我感觉这样做比较好,你们不做也没事。

一、图形界面安装(MATE DESKTOP)

CentOS 7 系统下,本文以 MATE 桌面环境安装进行安装配置说明:

登录服务器,执行如下指令安装桌面环境:

# 先安装 MATE Desktop
yum groups install "MATE Desktop"

命令输入之后,会列出一大堆文字的,然后显示这个y/d/n,输入y,按回车下载安装,安装完成,显示complete.

(以下X Window System安装非必要)

# 安装好 MATE Desktop 后,再安装 X Window System。
yum groups install "X Window System"

命令输入之后,会列出一大堆文字的,然后显示这个y/d/n,输入y,按回车下载安装,安装完成.

设置默认通过桌面环境启动服务器:
systemctl set-default graphical.target

安装完成后,通过 reboot 等指令重启服务器,或者在 ECS 服务器控制台重启服务器,重启后系统将自动进入图形界面.

二、安装并设置vncserver

1、假定你的系统没有安装vnc的任何软件,那么,首先安装vnc

yum -y install tigervnc-server tigervnc

2、配置vnc-server
首先,进入目录cd /lib/systemd/system

查看该service,命令为 cat vncserver@.service

可以看到被注释掉的提示信息(这个提示可能就是CentOS7与6的差别所在了):

# Quick HowTo:
# 1. Copy this file to /etc/systemd/system/vncserver@.service
# 2. Replace <USER> with the actual user name and edit vncserver
#    parameters appropriately
#    (ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
#     PIDFile=/home/<USER>/.vnc/%H%i.pid)
# 3. Run `systemctl daemon-reload`
# 4. Run `systemctl enable vncserver@:<display>.service`

这里我们将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

vi /etc/systemd/system/vncserver@:1.service

<USER>修改为当前的用户名、并除去PIDFile=/home/root/.vnc/%H%i.pid中home修改完毕如下:

[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 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

systemctl daemon-reload

设置为自动启动

systemctl enable vncserver@:1.service

启动vnc服务

systemctl start vncserver@:1.service

启动服务报错如下(原因据我实际操作分析报错是由修改vncserver@:1.service时没有除去PIDFile=/home/root/.vnc/%H%i.pid中home导致的)

Job for vncserver@:1.service failed because the control process exited with error code.
See "systemctl status vncserver@:1.service" and "journalctl -xe" for details.

解决报错如下(这两个解决方法可以不去操作、防火墙的都要去操作的)

1、处理方法(最好cd进入路径下删除):rm -rf /tmp/.X11-unix/*

2、设置系统语言为简体中文

查看当前语言 echo $LANG

如果不是中文则手动设置为中文

临时设置:LANG=zh_CN.UTF-8永久设置:vi /etc/locale.confLANG=zh_CN.UTF-8

a.登录 ECS管理控制台 --> 网络和安全 --> 安全组 --> 配置规则,在实例所在安全组中 添加安全组规则,入方向、TCP 放行5901端口和6001端口,授权对象0.0.0.0/0代表允许或拒绝所有IP访问。

b.注意:如果您的实例上开启了防火墙,需要设置防火墙允许VNC访问,如果没有开启防火墙,一定要开启,否则本地远程连接不上,哥在这个问题上被坑了很多遍,终于总结出这个原因。

阿里云的Linux系统防火墙默认是关闭的,请先打开。

查看防火墙状态:firewall-cmd --state

开机禁用:systemctl disable firewalld

开启防火墙 systemctl start firewalld.service

如果执行 systemctl start firewalld 命令后出现Failed to start firewalld.service: Unit is masked

执行以下命令:
systemctl unmask firewalld 即可实现取消服务的锁定

设置开启自启动防火墙,重启centos时不用再手动开启防火墙

开机启用:systemctl enable firewalld

以firewalld为例,您需要做如下设置:

firewall-cmd --permanent --add-service vnc-server #允许VNC访问,设置成功提示successsystemctl restart firewalld.service # 重启firewalld

然后还需要设置防火墙规则允许VNC访问。

举例:以iptables为例,您需要做如下设置:

iptables.service文件,使用yum安装一下 yum install iptables-services

直接修改文件/etc/sysconfig/iptables文件,添加一行:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 5901 -j ACCEPT

重启iptables服务 service iptables restart

查看是否启动成功

systemctl status vncserver@:1.service

如何显示active即开启成功,但这个时候一般都是fail

正确的代码显示:

 vncserver@:1.service - Remote desktop service (VNC)Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)Active: active (running) since 日 2019-05-12 21:16:26 CST; 10s agoProcess: 26322 ExecStart=/usr/sbin/runuser -l root -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)Process: 26320 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)Main PID: 26342 (Xvnc)CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service‣ 26342 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop ssshop:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 102...5月 12 21:16:23 ssshop systemd[1]: Starting Remote desktop service (VNC)...
5月 12 21:16:26 ssshop systemd[1]: Started Remote desktop service (VNC).

接下来这一步非常重要!!!

编辑此文件 vi /root/.vnc/xstartup

查看此文件 cat /root/.vnc/xstartup

备份正确的可以直接使用

#!/bin/sh#unset SESSION_MANAGER
#unset DBUS_SESSION_BUS_ADDRESS
#/etc/X11/xinit/xinitrc
#vncserver -kill $DISPLAY
#exec /etc/X11/xinit/xinitrc
#exec /usr/bin/mate-session &
#exec /usr/bin/gnome-termina
#上面的连接上没有桌面文件显示[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
mate-session &

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

在CentOS中,xstartup的文件路径为:/root/.vnc/ (可以通过locate xstartup来查看xstartup的文件路径)所以需要执行:chmod 777 /root/.vnc/xstartup

重启vnc服务,输入如下两个命令:

vncserver -kill :1
vncserver

1、执行vncserver ,第一次执行会要求设置用于客户端通过vnc连接该用户的密码,以后想更改可以通过vncpasswd更改该连接密码。

2、注意最后问是否设置一个只读密码要选否,否则客户端登陆只会看到一个黑屏:

[user01@ana53 ~]$ vncserver
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
xauth:  file /home/user01/.Xauthority does not exist
New 'ana53:3 (user01)' desktop is ana53:3
Creating default startup script /home/user01/.vnc/xstartup
Creating default config /home/user01/.vnc/config
Starting applications specified in /home/user01/.vnc/xstartup
Log file is /home/user01/.vnc/ana53:3.log

三、客户端连接服务端:

通过这个网址下载vncviewer 客户端工具:
https://www.techspot.com/downloads/5760-vnc-viewer.html
输入公网IP:1 ,输入自己设置的vnc密码,连接成功。但出现花屏,原因是分辨率设得太低,于是vnc连接成功后:
鼠标放到顶部(齿轮状的图标),点击"Properties"图标–Options–General–Picture quality:设置为High,点击右下方ok确认

Ubuntu18.04连接成功参考的博客

http://www.eait.co/?p=118

如有写错的请大家在下方评论留言,感谢大家不吝赐教。

2019年阿里云服务器CentOS 7.3 64位 搭建VNC远程桌面服务步骤与方法相关推荐

  1. centos7开启vnc服务_阿里云CentOS 7搭建VNC远程桌面服务步骤方法

    因为需要在centos7配置远程桌面,所以找了很多教程方法,结果都没有远程连接成功,以下是总结了很多教程后整理出的方法,在centos7下比较适用,其他的版本貌似有很大区别,这里不做研究. 一.图形界 ...

  2. 阿里云服务器(Ubuntu16.04 64位)远程连接

    开放端口 1.点击实例右侧的(1)"更多"选项,再点击下方的(2)安全组配置: 2.点击(3)配置规则: 3.点击(4)安全组规则: 5.添加开放端口,比如8000,添加主要信息: ...

  3. [CentOS Python系列] 四.阿里云服务器CentOS连接远程MySQL数据库及pymsql

    从2014年开始,作者主要写了三个Python系列文章,分别是基础知识.网络爬虫和数据分析. Python基础知识系列:Pythonj基础知识学习与提升 Python网络爬虫系列:Python爬虫之S ...

  4. mac SCp上传文件到阿里云服务器centos

    1.mac链接远程阿里云服务器centos命令: ssh -A -p 22 root@ip 2.mac上传文件到阿里云centos: 3.阿里云服务器weapps下文件删除命令: 4.上传文件相关 m ...

  5. 阿里云服务器CentOS部署Minio服务实现远程访问

    阿里云服务器CentOS部署Minio服务实现远程访问 1.下载 1.1 建立文件夹 mkdir /usr/local/minio mkdir /usr/local/minio/data 1.2下载 ...

  6. 阿里云服务器CentOS搭建

    一. 阿里云服务器CentOS搭建 阿里云的CentOS云系统是一个集成了Python环境基于yum安装的镜像,包含Nginx.MySQL.Pyenv.IPython等. CentOS(Communi ...

  7. 阿里云服务器(CentOS 7.4)Jenkins(LTS 2.150.3)部署及简易配置

    阿里云服务器(CentOS 7.4)Jenkins(LTS 2.150.3)部署与简易配置 Jenkins 目前是使用比较多的一个持续集成的开源工具,不管是开发测试部署,还是代码扫描等.很多工作都可以 ...

  8. 阿里云服务器[Ubuntu 20.04]配置MySQL并实现远程连接

    阿里云服务器[Ubuntu 20.04]配置MySQL并实现远程连接 一次小小的尝试 操作系统与使用软件 连接云服务器 云服务器下载MySQL 更新MySQL用户权限 修改阿里云安全组 修改系统中配置 ...

  9. 不用向日葵 teamview 利用云服务器部署FRP穿透内网实现控制远程桌面

    不用向日葵 teamview 利用云服务器部署FRP穿透内网实现控制远程桌面 前言 需要的硬软件 需要的设置 服务端的配置 客户端配置 远程连接 设置开机自启 前言 由于工作原因,不可使用向日葵及te ...

最新文章

  1. 【组队学习】【29期】5. 李宏毅机器学习(含深度学习)
  2. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(输出多个分组)实战
  3. android settings源代码分析(1)
  4. 安卓APP动态调试技术
  5. M| SQL 导入导出的时候数据库表的主键和自动编号丢失 怎么办
  6. 让IE6、IE7、IE8支持CSS3
  7. 简单的二次封装axios中的get,post方法
  8. service mysql k8s_Kubernetes(k8s)中文文档 名词解释 Services_Kubernetes中文社区
  9. Flex入门的好书——《Flex3 Cookbook 中文版》
  10. 近期生活中将会发生的一点变化!
  11. 衬线字体与无衬线字体
  12. psp记忆棒测试软件,psp记忆棒修复工具
  13. 把14亿中国人民都拉到一个微信群里在技术上能实现吗?
  14. HTML5期末大作业:商城网站设计——小米商城官网首页(1页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 web学生网页设计作业源码...
  15. html表格某一行背景颜色设置,HTML表格行背景颜色与浮动属性不一样
  16. Debian回收站无法删除解决
  17. 微软kinect的五个非游戏的应用
  18. arm架构下spinlock原理 (代码解读)
  19. 高德地图---Poi搜索遇到的坑
  20. Makefile wildcard

热门文章

  1. 什么蓝牙耳机跟苹果差不多?替代airpods的最好选择
  2. STATA:陈强教授 计量经济学及stata应用第四章 一元线性回归
  3. RTX的LDAP验证程序(含源码)
  4. java版原生app,追剧达人app
  5. 安卓系统下的截屏和录屏
  6. python中待学习的内容
  7. com.android.kyj.onj,Android 自学之列表选择框Spinner
  8. android支付界面设计,Android支付宝支付设计开发
  9. Spesielt at n?rhetsprinsippet og solidaritet er to parajumper jakke begreper
  10. 全部SAP转储订单(STO)