因为需要在centos7配置远程桌面,所以找了很多教程方法,结果都没有远程连接成功,以下是总结了很多教程后整理出的方法,在centos7下比较适用,其他的版本貌似有很大区别,这里不做研究。
一、图形界面安装(MATE DESKTOP)
CentOS 7 系统下,本文以 MATE 桌面环境安装进行安装配置说明:
登录服务器,执行如下指令安装桌面环境:
|
命令输入之后,会列出一大堆文字的,然后显示这个y/d/n,输入y,按回车下载安装;
安装完成,显示下面图片complete
X Window System安装非必要)
|
命令输入之后,会列出一大堆文字的,然后显示这个y/d/n,输入y,按回车下载安装;
安装完成
设置默认通过桌面环境启动服务器:
|
安装完成后,通过 reboot 等指令重启服务器,或者在 ECS 服务器控制台重启服务器,重启后系统将自动进入图形界面
二、安装vncserver
1、假定你的系统没有安装vnc的任何软件,那么,首先安装vnc
|
2、Centos7需要配置的文件/lib/systemd/system/vncserver@.service,复制一份文件,并改名为vncserver@:1.service
代码如下:
[root@localhost ~]# cp
/lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service
3、将文件中的<User>用你当前的用户替换,将%i替换为1
|
4、更新systemctl
|
5、设置为自动启动
|
6、启动vnc服务
|
7、修改配置文件(解决vncviewer连接时出现蓝屏或灰屏的问题)
vim ~/.vnc/xstartup
|
改变xstartup的权限
这个问题是很多人容易忽视的问题,也是造成连接成功后黑屏的原因之一。
在CentOS中,xstartup的文件路径为:/root/.vnc/ (可以通过locate xstartup来查看xstartup的文件路径)
所以需要执行:chmod 777 /root/.vnc/xstartup
8、 重启vnc服务,输入如下两个命令:
|
完成所有配置
a.登录 ECS管理控制台,在实例所在安全组中 添加安全组规则,放行TCP 5901端口。
b.注意:如果您的实例上开启了防火墙,需要设置防火墙允许VNC访问,如果没有开启防火墙,一定要开启,否则本地远程连接不上,哥在这个问题上被坑了很多遍,终于总结出这个原因。
举例:
以firewalld为例,您需要做如下设置:
1. firewall-cmd --permanent --add-service vnc-server #允许VNC访问
2. systemctl.service # 重启firewalld
如果提示防火墙没有运行,请先开启
systemctl.service
如果执行 systemctl start firewalld 命令后出现Failed to start firewalld.service: Unit is masked,执行以下命令:
systemctl unmask firewalld ,即可实现取消服务的锁定
设置开启自启动防火墙,重启centos时不用再手动开启防火墙
systemctl enable firewalld.service
然后还需要设置防火墙规则允许VNC访问。
举例:以iptables为例,您需要做如下设置:
1. iptables -A INPUT -p tcp --dport5901 -j ACCEPT #放行TCP 5901端口
2. service iptables save# 保存规则
3. service iptables restart #重启规则
这样本地使用VNCViewer客户端可以使用IP:1进行远程桌面连接了。
ps:下面可能你需要的
1.报错: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.
处理方法:
rm -rf /tmp/.X11-unix/*
2、设置系统语言为简体中文
查看当前语言
echo $LANG
如果不是中文则手动设置为中文
临时设置:
LANG=zh_CN.UTF-8
永久设置:
vi /etc/locale.conf
LANG=zh_CN.UTF-8