2019年阿里云服务器CentOS 7.3 64位 搭建VNC远程桌面服务步骤与方法
看到这篇博客首先恭喜你找到了正确的解决办法,我也是走了很多弯路总结出来的,如果对你有帮助我希望得到你的一个赞?,谢谢! |
对于新系统,安装额外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远程桌面服务步骤与方法相关推荐
- centos7开启vnc服务_阿里云CentOS 7搭建VNC远程桌面服务步骤方法
因为需要在centos7配置远程桌面,所以找了很多教程方法,结果都没有远程连接成功,以下是总结了很多教程后整理出的方法,在centos7下比较适用,其他的版本貌似有很大区别,这里不做研究. 一.图形界 ...
- 阿里云服务器(Ubuntu16.04 64位)远程连接
开放端口 1.点击实例右侧的(1)"更多"选项,再点击下方的(2)安全组配置: 2.点击(3)配置规则: 3.点击(4)安全组规则: 5.添加开放端口,比如8000,添加主要信息: ...
- [CentOS Python系列] 四.阿里云服务器CentOS连接远程MySQL数据库及pymsql
从2014年开始,作者主要写了三个Python系列文章,分别是基础知识.网络爬虫和数据分析. Python基础知识系列:Pythonj基础知识学习与提升 Python网络爬虫系列:Python爬虫之S ...
- mac SCp上传文件到阿里云服务器centos
1.mac链接远程阿里云服务器centos命令: ssh -A -p 22 root@ip 2.mac上传文件到阿里云centos: 3.阿里云服务器weapps下文件删除命令: 4.上传文件相关 m ...
- 阿里云服务器CentOS部署Minio服务实现远程访问
阿里云服务器CentOS部署Minio服务实现远程访问 1.下载 1.1 建立文件夹 mkdir /usr/local/minio mkdir /usr/local/minio/data 1.2下载 ...
- 阿里云服务器CentOS搭建
一. 阿里云服务器CentOS搭建 阿里云的CentOS云系统是一个集成了Python环境基于yum安装的镜像,包含Nginx.MySQL.Pyenv.IPython等. CentOS(Communi ...
- 阿里云服务器(CentOS 7.4)Jenkins(LTS 2.150.3)部署及简易配置
阿里云服务器(CentOS 7.4)Jenkins(LTS 2.150.3)部署与简易配置 Jenkins 目前是使用比较多的一个持续集成的开源工具,不管是开发测试部署,还是代码扫描等.很多工作都可以 ...
- 阿里云服务器[Ubuntu 20.04]配置MySQL并实现远程连接
阿里云服务器[Ubuntu 20.04]配置MySQL并实现远程连接 一次小小的尝试 操作系统与使用软件 连接云服务器 云服务器下载MySQL 更新MySQL用户权限 修改阿里云安全组 修改系统中配置 ...
- 不用向日葵 teamview 利用云服务器部署FRP穿透内网实现控制远程桌面
不用向日葵 teamview 利用云服务器部署FRP穿透内网实现控制远程桌面 前言 需要的硬软件 需要的设置 服务端的配置 客户端配置 远程连接 设置开机自启 前言 由于工作原因,不可使用向日葵及te ...
最新文章
- 【组队学习】【29期】5. 李宏毅机器学习(含深度学习)
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(输出多个分组)实战
- android settings源代码分析(1)
- 安卓APP动态调试技术
- M| SQL 导入导出的时候数据库表的主键和自动编号丢失 怎么办
- 让IE6、IE7、IE8支持CSS3
- 简单的二次封装axios中的get,post方法
- service mysql k8s_Kubernetes(k8s)中文文档 名词解释 Services_Kubernetes中文社区
- Flex入门的好书——《Flex3 Cookbook 中文版》
- 近期生活中将会发生的一点变化!
- 衬线字体与无衬线字体
- psp记忆棒测试软件,psp记忆棒修复工具
- 把14亿中国人民都拉到一个微信群里在技术上能实现吗?
- HTML5期末大作业:商城网站设计——小米商城官网首页(1页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 web学生网页设计作业源码...
- html表格某一行背景颜色设置,HTML表格行背景颜色与浮动属性不一样
- Debian回收站无法删除解决
- 微软kinect的五个非游戏的应用
- arm架构下spinlock原理 (代码解读)
- 高德地图---Poi搜索遇到的坑
- Makefile wildcard
热门文章
- 什么蓝牙耳机跟苹果差不多?替代airpods的最好选择
- STATA:陈强教授 计量经济学及stata应用第四章 一元线性回归
- RTX的LDAP验证程序(含源码)
- java版原生app,追剧达人app
- 安卓系统下的截屏和录屏
- python中待学习的内容
- com.android.kyj.onj,Android 自学之列表选择框Spinner
- android支付界面设计,Android支付宝支付设计开发
- Spesielt at n?rhetsprinsippet og solidaritet er to parajumper jakke begreper
- 全部SAP转储订单(STO)