当前位置: 首页 > news >正文

Centos 7.9 配置VNCServer实现远程vnc连接

文章目录

    • 1、Centos安装图形界面
      • 1.1、安装X Windows System图形界面
      • 1.2、安装GNOME图形界面
    • 2、VNC SERVER配置
      • 2.1、VNC SERVER安装
      • 2.2、VNC SERVER配置
        • 1)创建vnc配置文件
        • 2)修改配置文件内容
        • 3)完整配置文件参考
      • 2.3、设置vnc密码
      • 2.4、配置防火墙
      • 2.5、启动vnc服务
    • 3、vnc viewer连接
      • 3.1、vnc viewer下载
      • 3.2、连接vnc server

1、Centos安装图形界面

Centos图形界面的安装有下面两种方法,按需选择:

1.1、安装X Windows System图形界面

X Window System为底层图形子系统,适配大多数的Linux及unix系统,兼容性更广。其主要是管理硬件设备与图形环境之间的交互,如显示、用户输入。其他窗口布局、装饰或用户交互元素都不包括在其中,为基础的一个图形系统:

yum update -y
yum grouplist
# 安装图形化界面
yum groups install "X Window System"
yum groups install "MATE Desktop"
# 安装完成后,修改默认启动方式为图形化界面
systemctl set-default graphical.target
# 恢复为命令模式
systemctl set-default multi-user.target

安装完成后执行reboot重启设备生效图形界面。

1.2、安装GNOME图形界面

GNOME为一个完整的桌面系统,基于X Window System构建,包含一套完整的界面元素,窗口、图标、工具栏、文件管理器等,同时继承了各种应用程序和工具,对用户的交互和使用更为的友好:

yum update -y
yum grouplist
# 安装GNOME图形界面
yum groupinstall -y "GNOME Desktop"
# 安装完成后,修改默认启动方式为图形化界面
systemctl set-default graphical.target 
# 恢复为命令模式
systemctl set-default multi-user.target

安装完成后执行reboot重启设备生效图形界面。

2、VNC SERVER配置

2.1、VNC SERVER安装

安装vnc server:

yum install tigervnc-server -y

安装完成如下:

image-20240410143230601

2.2、VNC SERVER配置

1)创建vnc配置文件

拷贝一个服务设置的模板:

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

注意: 一个用户对应1个配置文件,当需要3用户时,上述指令需要执行3次,vncserver@:1.service文件序号迭代至vncserver@:3.service。这里的序号也对应后续连接的端口序号。

2)修改配置文件内容

使用文本编辑器修改配置文件内容:

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

默认配置内容如下:

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target[Service]
Type=simple# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper <USER> %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'[Install]
WantedBy=multi-user.target

这里需要修改三处:

  • 1、[Service]类型

修改为forking,如下:

[Service]
Type=forking
  • 2、ExecStart值

将其中的替换为自己当前的用户名,如下这里以root用户为例,其他用户改为对应用户名即可:

ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
  • 3、添加PIDFile

这里区分root用户和非root用户。

root用户配置如下:

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

非root用户配置如下,以用户testvnc示例,配置如下:

PIDFile=/home/testvnc/.vnc/%H%i.pid
3)完整配置文件参考

完整修改后的root用户配置如下:

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

非root用户完整配置文件,以用户testvnc示例,配置如下:

[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=/sbin/runuser -l testvnc -c "/usr/bin/vncserver %i"
PIDFile=/home/testvnc/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'[Install]
WantedBy=multi-user.target

配置完成后,重启systemd:

systemctl daemon-reload

2.3、设置vnc密码

# 切换至对应用户,配置VNC密码。不同用户的密码不同,均需要单独配置。
su <USER>
vncpasswd

设置完密码后配置只读密码选择n,不进行配置:

image-20240504141608621

2.4、配置防火墙

配置防火墙来让 VNC 服务正常工作,将vnc服务进程添加到白名单中:

sudo firewall-cmd --permanent --add-service vnc-server
sudo systemctl restart firewalld.service

image-20240504141751401

2.5、启动vnc服务

# 设置开机启动
systemctl enable vncserver@:1.service
# 启动vnc server
systemctl start vncserver@:1.service
# 查看vnc server状态
systemctl status vncserver@:1.service
# 检查vnc进程
ps -ef | grep vnc
# 查看服务监听的端口
netstat -lnpt|grep Xvnc

可以查看到 root 用户的连接序号为 1,对应的实际端口是 5901。可以使用 IP 地址和序号进行连接,例如 192.168.1.1:1,这里的序号1并非指服务器的实际端口号,而是表示 VNC 连接的顺序,从 1 开始编号。实际上,VNC 服务本身默认使用 5900 端口,所以第一个连接的端口是 5901(5900+1)

image-20240504142920978

image-20240504143154448

3、vnc viewer连接

3.1、vnc viewer下载

官方下载地址:https://downloads.realvnc.com/download/file/viewer.files/VNC-Viewer-7.10.0-Windows-64bit.exe

推荐使用便携版:

image-20240410142214503

下载完成后,文件名称类似如下VNC-Viewer-7.10.0-Windows-64bit.exe,双击exe文件可直接使用。

3.2、连接vnc server

进入RealVNC Viewer后,左上角File–>New connection添加新的连接:

image-20240504140433869

VNC Server地址,配置为设备IP:1,1对应的为连接序号。实际使用端口5901(IP:5901)同样能够正常连接:

image-20240504142816828

未加密连接提示,点击continue即可:

image-20240504142556800

填入之前使用vncpasswd配置的密码:

image-20240504142630984

连接成功,输入账户登录密码,即可正常访问桌面环境了:

image-20240504142721496

参考:https://linux.cn/article-5335-1.html

相关文章:

Centos 7.9 配置VNCServer实现远程vnc连接

文章目录 1、Centos安装图形界面1.1、安装X Windows System图形界面1.2、安装GNOME图形界面 2、VNC SERVER配置2.1、VNC SERVER安装2.2、VNC SERVER配置1&#xff09;创建vnc配置文件2&#xff09;修改配置文件内容3&#xff09;完整配置文件参考 2.3、设置vnc密码2.4、配置防火…...

设计模式-08 - 模板方法模式 Template Method

设计模式-08 - 模板方法模式 Template Method 1.定义 模板方法模式是一种设计模式&#xff0c;它定义了一个操作的骨架&#xff0c;而由子类来决定如何实现该操作的某些步骤。它允许子类在不改变算法结构的情况下重定义算法的特定步骤。 模板方法模式适合用于以下情况&am…...

Android 适配阿拉伯语之vector图标镜像

Android 适配阿拉伯语之vector图标镜像 android:autoMirrored“true” 属性简单而直接的方法来自动处理 RTL 环境中图标的翻转。 使用 android:autoMirrored“true” 在 Vector Drawable 中是一种非常方便的方法&#xff0c;因为它允许你使用相同的 drawable 资源来适应不同的…...

推荐4个可用的github国内镜像

Github是全球最大的代码托管云平台&#xff0c;超过1亿用户在平台上分享代码及数据&#xff0c;深受生物信息学软件开发者的喜爱&#xff0c;并且现在发表文章&#xff0c;若涉及到代码&#xff0c;编辑还要求我们把代码及数据存放在github上&#xff0c;以便检查数据的真实性和…...

从项目开始学习Vue——02(若依框架)

往期&#xff1a; 从项目开始学习Vue——01 目录标题 一、基础插件&#xff08;一&#xff09;路由Vue Router&#xff08;二&#xff09;导航守卫&#xff08;路由拦截器&#xff09;二、Vuex&#xff08;一&#xff09;什么是VuexVuex的部分介绍内容&#xff1a; &#xff08…...

使用JavaScript日历小部件和DHTMLX Gantt的应用场景(二)

DHTMLX Suite UI 组件库允许您更快地构建跨平台、跨浏览器 Web 和移动应用程序。它包括一组丰富的即用式 HTML5 组件&#xff0c;这些组件可以轻松组合到单个应用程序界面中。 DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表&#xff0c;可满足项目管理应用…...

springboot整合redis多数据源(附带RedisUtil)

单数据源RedisUtil(静态) 单数据源RedisUtil,我这里implements ApplicationContextAware在setApplicationContext注入redisTemplate,工具类可以直接类RedisUtil.StringOps.get()使用 package com.vehicle.manager.core.util;import com.alibaba.fastjson.JSON; import lombok.e…...

Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示

文章目录 一、什么是SSE二、SSE技术的基本原理三、SSE适用于场景四、Node服务端示例1、协议2、格式3、事件3.1、事件3.2、事件唯一标识符3.3、重连事件 4、具体示例 五、客户端示例1、检测客户端是否支持SSE2、创建客户端连接3、事件监听4、接收事件5、自定义事件6、错误处理7、…...

Apache Flume事务

Apache Flume 中的事务处理是指 Flume Agent 在处理事件流时的一种机制&#xff0c;用于确保数据的可靠传输和处理。 1. 事务概述&#xff1a; Flume 中的事务是指一组事件的传输和处理&#xff0c;这些事件在传输过程中要么全部成功完成&#xff0c;要么全部失败&#xff0…...

根据部门id删除该部门下的员工(事务)

application.properties&#xff1a; 或&#xff1a; application.yml&#xff1a; 新表&#xff1a; 日志对象类&#xff1a; 日志service类&#xff1a; 日志service接口&#xff1a; 日志mapper类&#xff1a; 部门service类&#xff1a; 员工mapper类&#xff1a;...

Java之String类

一、String类常用方法 1.引用类型的比较 我们知道在Java中两个引用遍历是不能用" "号来比较的&#xff0c;而String类重写了父类objects的equals方法&#xff0c; 实现了引用类型的比较 例子 import java.util.Scanner; public class Main { public static void…...

es终止快照恢复进程的方法

方法1、删除索引可以终止&#xff0c;恢复进程。 DELETE index_* // 按通配符删除以index_开头的索引 DELETE _all // 删除全部索引 POST *,-.*/_close 关闭索引 POST *,-.*/_open 打开索引 DELETE *,-.* 删除全部索引方法2、强制重启es 集群也可也终…...

ubantu安装rabbbitmq

ubantu安装rabbbitmq 安装Erlang1、在linux下直接安装2、上传Erlang文件后解压 安装rabbitmq开启web管理接口创建用户及修改guest密码&#xff0c;删除guest默认账号 安装Erlang 1、在linux下直接安装 #运行以下命令直接安装&#xff1a; sudo apt-get install erlang#可运行…...

了解 条码工具 Dynamsoft 在条码读取器中的形态运算

在图像处理中&#xff0c;术语形态学是指分析形状以填充小孔、去除噪声、提取轮廓等的一组操作。形态学操作很像空间卷积中的过滤过程。有两个部分在起作用&#xff1a;结构元素和预定义的计算规则。 点击下载Dynamsoft最新版https://www.evget.com/product/3691/download 结…...

NIO和NIO.2对比

Java NIO (New Input/Output) 是从Java 1.4版本开始引入的一个新的I/O API&#xff0c;用于替代原来的BIO&#xff08;Blocking I/O&#xff09;API。NIO提供了更加灵活和高效的网络通信方式&#xff0c;特别适合于高吞吐量的网络编程。NIO的主要特点是非阻塞模式&#xff0c;它…...

Google准备好了吗?OpenAI发布ChatGPT驱动搜索引擎|TodayAI

在科技界波澜壮阔的发展中&#xff0c;OpenAI正式宣布其最新突破——一个全新的基于ChatGPT技术的搜索引擎&#xff0c;旨在直接挑战谷歌在搜索领域的统治地位。这一创新将可能彻底改变用户上网搜索的方式。 据悉&#xff0c;这款AI驱动的搜索引擎利用了ChatGPT的强大功能&…...

乐观锁、悲观锁、互斥锁、读写锁

乐观锁和悲观锁是两种不同的锁机制&#xff0c;用于在多线程环境下解决资源竞争问题。互斥锁和读写锁是两种常见的锁类型&#xff0c;它们都可以用来实现乐观锁或悲观锁。 乐观锁 是一种无锁机制&#xff0c;它假设在多线程环境下对共享资源的操作不会发生冲突&#xff0c;因…...

Gin入门指南:从零开始快速掌握Go Web框架Gin

官网:https://gin-gonic.com/ GitHub:https://github.com/gin-gonic 了解 Gin Gin 是一个使用 Go 语言开发的 Web 框架,它非常轻量级且具有高性能。Gin 提供了快速构建 Web 应用程序所需的基本功能和丰富的中间件支持。 以下是 Gin 框架的一些特点和功能: 快速而高效:…...

Scala里的class、object、case class、case object 、trait

Class&#xff08;类&#xff09; 定义和作用 Scala 中的 class 是一种蓝图&#xff0c;用于创建对象&#xff08;实例&#xff09;。它定义了对象的状态和行为。类可以包含字段&#xff08;属性&#xff09;和方法&#xff08;函数&#xff09;。类可以有构造器&#xff0c;…...

移动端自动化测试工具 Appium 之 main 启动

文章目录 一、背景二、生成xml文件2.1、创建xml方法2.2、执行主类MainTest2.3、自动生成的xml2.4、工程目录2.5、执行结果 三、命令行执行appium服务四、主方法启动类五、集成Jenkins六、总结 一、背景 Jenkins 做集成测试是不错的工具&#xff0c;那么UI自动化是否可以&#…...

WT32-ETH01作为TCP Client进行通讯

目录 模块简介WT32-ETH01作为TCP Client设置电脑作为TCP Server设置连接并进行通讯总结 模块简介 WT32-ETH01网关主要功能特点: 采用双核Xtensa⑧32-bit LX6 MCU.集成SPI flash 32Mbit\ SRAM 520KB 支持TCP Server. TCP Client, UDP Server. UDP Client工作模式 支持串口、wif…...

jni 返回二维byte数组

在JNI中返回二维byte数组&#xff0c;你需要在Java中准备一个相应的二维数组来接收这个返回值。在JNI层面&#xff0c;你可以创建一个二维的byte数组&#xff0c;并使用GetByteArrayRegion和SetByteArrayRegion来操作它。 以下是一个简单的例子&#xff1a; public class Jni…...

“webpack-dev-server --config build/webpack.dev.conf.js” 请问这个问题要如何修复

解决方案 修改部署方式&#xff1a; 使用 webpack 来打包你的项目&#xff0c;生成静态文件。在生产环境中&#xff0c;使用 Nginx 或其他 HTTP 服务器来提供服务&#xff0c;而不是使用 webpack-dev-server。 Dockerfile 调整&#xff1a; 确保 Dockerfile 中使用的命令是用于…...

TOOL使用fiddler导出的har文件导入到postman测试接口

在fiddler操作 export → File → Export Sessions → alls-->http arch v1.1 导出的har文件直接拖入到浏览器的调试工具中&#xff0c; 然后复制为curl&#xff0c;导入到postman中即可&#xff01;...

第十三届蓝桥杯决赛(国赛)真题 Java A 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 火柴棒数字试题 B: 小蓝与钥匙试题 C: 内存空间试题 D: 斐波那契数组试题 E: 交通信号试题 F: 数组个数试题 G: 六六大顺试题 H : \mathrm{H}: H: 选素数试题 I: 图书借阅试题 J \mathrm{J} J : 括号序列树 发现宝藏 前些天发现了一个…...

数据结构_顺序表中基本操作的实现_代码

学习笔记&#xff0c;仅供参考 1.头文件 2.初始化 3.增加值 4.根据下标取值 5.查找 6.插入 7.删除 8.动态增加数组的长度 9.所有代码 10.运行结果 1.头文件 //顺序表的实现——动态分配 #include<stdio.h> #include<stdlib.h> #define InitSize 10 type…...

提升SEO排名!SSL证书对SEO效果的积极影响

搜索引擎优化&#xff08;SEO&#xff09;作为提升网站可见度和吸引有机流量的关键策略&#xff0c;其规则与标准也在不断进化以适应这些变化。其中&#xff0c;安装SSL证书对SEO效果产生的正面影响尤为显著。以下是关于安装SSL证书如何促进SEO效果的详细分析。 一、搜索引擎的…...

JAVA 项目<果园之窗>_完结

目录 1、前言&#xff1a;2、视频展示&#xff1a;3、环境配置&#xff1a;4、工程代码&#xff1a;5、原理&#xff1a;6、原理补充&#xff1a;7、综上&#xff1a; 1、前言&#xff1a; 因为没有足够的时间这个项目用的是别人搭好的框架&#xff0c;在此基础上做调整并根据前…...

Vue + Vite + Axios 项目多环境以及部署前后端跨域

最近在前端多环境和部署服务器之后出现的跨域的问题。 多环境 前端多环境 Vite Axios 1.首先在项目目录下定义多环境的文件。 这里列举开发环境和发布环境 .env.development 环境 # 开发时加载// 此处为开发时接口 VITE_API_URL http://localhost:8080/api.env producti…...

Nginx+GateWay

目录 Nginx nginx如何配置负载均衡 负载均衡有哪些策略 1、轮询&#xff08;默认&#xff09; 2、指定权重 3、ip_hash&#xff08;客户端ip绑定&#xff09; 4、least_conn&#xff08;最少连接&#xff09; 5、fair 6、url_hash Nginx为什么效率高 gateway 使用gat…...