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

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

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

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

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

1

2# 先安装 MATE Desktop

yumgroups install "MATE Desktop"

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

安装完成,显示下面图片complete

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

1

2#安装好 MATE Desktop 后,再安装 X Window System。

yumgroups install "X Window System"

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

安装完成

设置默认通过桌面环境启动服务器:

1systemctlset-default graphical.target

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

二、安装vncserver

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

1yum -yinstall tigervnc-server tigervnc

2、Centos7需要配置的文件/lib/systemd/system/vncserver@.service,复制一份文件,并改名为vncserver@:1.service

代码如下:

3、将文件中的用你当前的用户替换,将%i替换为1

1

2

3

4

5

6

7

8

9

10

11

12[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 :1 > /dev/null 2>&1 || :'

ExecStart=/sbin/runuser -l root -c"/usr/bin/vncserver :1 -geometry 1280x720 -depth 24"

PIDFile=/root/.vnc/%H%i.pid

ExecStop=/bin/sh -c'/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'

[Install]

WantedBy=multi-user.target

4、更新systemctl

1systemctl daemon-reload

5、设置为自动启动

1systemctl enable vncserver@:1.service

6、启动vnc服务

1systemctl start vncserver@:1.service

7、修改配置文件(解决vncviewer连接时出现蓝屏或灰屏的问题)

vim ~/.vnc/xstartup

1

2

3

4

5

6

7

8

9

10#!/bin/sh

# Uncomment the following two lines for normal desktop:

# unset SESSION_MANAGER

# exec /etc/X11/xinit/xinitrc

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

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

1

2vncserver -kill :1

vncserver

完成所有配置

a.登录ECS管理控制台,在实例所在安全组中添加安全组规则,放行TCP 5901端口。

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

以firewalld为例,您需要做如下设置:firewall-cmd--permanent--add-service vnc-server#允许VNC访问

systemctl restart firewalld.service# 重启firewalld

如果提示防火墙没有运行,请先开启

systemctl start firewalld.service

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

systemctl unmask firewalld ,即可实现取消服务的锁定

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

systemctl enable firewalld.service

然后还需要设置防火墙规则允许VNC访问。举例:以iptables为例,您需要做如下设置:iptables-A INPUT-p tcp--dport5901-j ACCEPT#放行TCP 5901端口

service iptables save# 保存规则

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502979.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python整数类型在每一台计算机上的取值范围是一样的_关于python统计一个整数列表中不同数值种类数的问题。...

下面这段代码中,kind_num用于统计那个整数列表中有几种不同数值的整数。 class Solution(object): def distributeCandies(self, candies): """ :type candies: List[int] :rtype: int """ loc len(candies) mol loc % 2 if not (2…

ndarray python 映射_在Matlab的delsq演示中,用numpy方法对向量映射进行ndarray处理?...

下面复制了演示。G中的编号是不同的,但数字只是标签(标签网格让我困惑)。在import numpy as npfrom scipy import sparsefrom scipy.sparse import linalgimport matplotlib.pyplot as pltdef numgrid(n):"""NUMGRID Number the grid points in a tw…

实验报告总结_小学四年级数学下册全册知识点总结 ,家有四年级学生的家长收藏...

一、观察物体知识技能目标知道从低到高观察物体,体会出不同的位置看到的范围是不一样的,由远到近看到的范围是越来越小,从而体会不同距离观察物体形状的变化。知识检测摆一种物体,从不同的面去观察,看到的面是什么图形…

配置中心_Nacos做配置中心

一、简单使用Nacos官方快速开始文档:https://nacos.io/zh-cn/docs/quick-start.html在每个服务中编写bootstrap文件,服务使用该文件启动,并根据该文件的指引到Nacos获取配置信息bootstrap文件示例,可以不用写端口,需要…

python numpy逆_numpy.linalg.inv返回奇异矩阵的逆函数 - python

下面的矩阵是单数,并且AFAIK尝试将其求反应导致 numpy.linalg.linalg.LinAlgError: Singular matrix 但是我得到了一些输出矩阵。请注意,输出矩阵是无意义的结果,因为它具有一行0(这是不可能的,因为矩阵的逆本身应该是…

mysql lock_MySQL-锁总结

锁锁机制用于管理对共享资源的并发访问。lock和latch在数据库中,lock和Latch都称为锁,但是两者意义不同。latch称为闩锁(shuang suo),其要求锁定的时间必须非常短。若持续的时间长,则应用的性能会非常差。在InnoDB存储引擎中&…

hive 两个没有null指定的表左关联的结果有null_Hive的优化原则

原文链接:https://zhuanlan.zhihu.com/p/174469951本篇将 Hive 的优化分成三个部分:第一部分是 SQL 通用语法优化,第二部分是针对 Hive 所具有的数据倾斜的优化,第三部分则介绍一些通用性的 Hive 参数设置优化。一、语法优化 SQL 的语法优化本…

django使用mysql_设置Django以使用MySQL

我想稍微远离PHP,学习Python。为了使用Python进行Web开发,我需要一个框架来帮助模板和其他事情。我有一台非生产服务器,用于测试所有Web开发内容。这是一个运行MariaDB而不是常见的MySQL服务器软件包的Debian 7.1 LAMP堆栈。昨天我安装了Djan…

python数据分析兼职能挣钱吗_Python开发能从事数据分析吗

Python不仅是人工智能时代最佳的编程语言,同时也是数据分析、科学运算的首选编程语言。学习Python就业方向多,比如Web网站开发、人工智能等。Python数据分析师需要掌握哪些技能,从各大招聘网站对其的基本任职要求可以了解一二: 1、…

mysql字段重命名_MySQL中使用SQL语句对字段进行重命名

MySQL中,如何使用SQL语句来对表中某一个字段进行重命名呢?我们将使用alter table 这一SQL语句。重命名字段的语法为:alter table change 。现在我们来尝试把test表中的t_name字段重命名为t_name_new字段。1、首先查看一下当前test表的结构mys…

python中打开文件open_Python中打开文件的方式(With open)

1.读文件 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标 示符: f open( /Users/michael/test.txt, r ) 标示符’r’表示读,这样,我们就成功地打开了一个文件。 如果文件不存在&#x…

php连接mysql的方式_php有几种连接mysql的方法

展开全部大致62616964757a686964616fe4b893e5b19e31333363356566有以下方法&#xff1a;1、使用 mysql &#xff0c;提示&#xff1a;此种方法官方不建议。<?php $con mysql_connect("localhost","root","");if (!$con){die(Could not conn…

jdk 安装_Linux入门之Linux CentOS安装jdk

第一步&#xff1a;创建jdk安装目录(该/usr/local/src 目录是空的,最好把我们自己下载的放到这,容易区分)mkdir -p /usr/local/src/jdk第二步&#xff1a;查看之前是否安装rpm -qa | grep -i jdk若之前安装过jdk&#xff0c;下次安装一定把之前的删除干净第三步&#xff1a;命令…

mysql存储过程注释方法_mysql存储过程 详细注释

原文&#xff1a;https://my.oschina.net/u/3582142/blog/1581929delimiter $$ /* 重新定义mysql结束符&#xff0c;而不再是分号是结束符 */create procedure mergeDeclare() /* 创建存储过程 */BEGIN/*定义局部变量*/DECLARE id INT DEFAULT 0;DECLARE Done INT DEFAULT 0;DE…

python爬虫中文乱码_解决Python爬虫处理文件时候中文名称出现乱码问题

当下如果需要批量处理文件&#xff0c;爬虫网页和图片的时候使用Python是最为简单和高效的。但是在处理过程中还是有一些细节问题&#xff0c;比如在爬虫中文名称和处理中文文件URL的时候会出现乱码。实际上就是因为编码的问题。我们在使用的Python3版本默认编码是utf-8。爬虫到…

登陆mysql服务器命令_Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)...

Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)1. 启动MySQL服务启动MySQL服务的命令为&#xff1a;命令执行后如图7-5所示&#xff0c;表示启动MySQL服务成功。也可以用/etc/init.d/mysqld的简化命令启动MySQL服务&#xff1a;service mysqld start停止MySQ…

asp点击按钮sql列求和_SQL 结构化查询语言

SQL特点SQL是大小写无关的&#xff0c;但一般的习俗是&#xff0c;关键字大写&#xff08;SELECT WHERE&#xff09;&#xff0c;用户自定义的小写&#xff0c;如表名。SQL如何注释&#xff0c; 两个 -- 开头&#xff0c;即为注释。SQL只用于关系型数据库&#xff0c;如MySQL&a…

mysql建表语句增加注释_MySQL建表语句+添加注释

1.建表注释CREATE TABLE student(id INT PRIMARY KEY AUTO_INCREMENT COMMENT 学号,name VARCHAR(200) COMMENT 姓名,age int COMMENT 年龄) COMMENT学生信息2.修改注释修改表注释-ALTER TABLE student COMMENT 学生表;修改列注释-ALTER TABLE student MODIFY COLUMN name VARC…

python类的使用_python类的使用

创建类和使用类 例子: 创建Dog类 __init__特殊方法 形参self class Dog: def init(self,name,age): #初始化属性name,age self.namename self.ageage def sit(self): #模拟小狗蹲下 print(self.name.title()" is now sitting.") def roll(self): #小狗被命令是打滚 p…

django orm mysql_Django之ORM操作Mysql

#单表查询操作基本方法classBookList(models.Model):title models.CharField(max_length32)price models.DecimalField(max_digits8,decimal_places2) #总共8位&#xff0c;小数占2位publist_date models.DateField() #DateField年月日,DateTimeField详细时间#单独测试models.…