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

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

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

相关文章

自学网络安全的实用建议:如何从零到精通

目录 为什么写这篇文章 为什么我更合适回答这个问题 先问自己3个问题 1.一定要明确自己是否是真喜欢&#xff0c;还是一时好奇。 2.自学的习惯 3.选择网安、攻防这行的目标是什么&#xff1f; 确认无误后&#xff0c;那如何进入这个行业&#xff1f; 1.选择渗透测试集中…

暴力法解决最近对问题和凸包问题-实现可视化

目录 最近对问题 凸包问题 最近对问题 顾名思义就是采用蛮力法求出所有点之间的距离&#xff0c;然后进行比较找出第一个最近对&#xff0c;一个一个进行比较。 大概思路就是如图&#xff08;每个圈代表一个数对&#xff09; 第一个和其他四个比较 第二个和其他三个比较 …

mysql 其他类型转换为BIT

看官网说明,BIT没什么特殊之处。但实际操作却不能将任何其他类型字段转为BIT,下面两个都报语法错误 CAST(column AS BIT(1)) AS aa , CAST(column AS BIT) AS bb, BIT value则模式是VARBINARY b1 as cc, -- cc为VARBINARY类型 下面是《高性能MySQL(第四版)》中关于BIT类型的…

星途重启:244亿公里外的「旅行者1号」,修好了

2024年4月20日&#xff0c;旅行者1号工程团队时隔5个月&#xff0c;终于重新收到了来自47年前所发射的探测器传回的有效数据。 ▲收到数据当天&#xff0c;工程团队成员在NASA喷气动力实验室的会议室中欢呼。 01.关于旅行者1号 在当下5G和WIFI已经普及的时代&#xff0c;NASA喷…

笔记本电脑怎么多选删除文件?误删除文件怎么办

在日常使用笔记本电脑中&#xff0c;我们可能会遇到需要删除大量文件的情况&#xff0c;例如清理临时文件、整理文档或卸载不再需要的程序。手动一个一个地删除不仅效率低下&#xff0c;还可能遗漏某些文件。那么&#xff0c;如何在笔记本电脑上高效地进行多选删除操作呢&#…

在linux里登录远程服务器

在linux里登录远程服务器。在虚拟终端里输入命令&#xff1a; ssh 远程服务器ip -l username 然后输入登录密码&#xff0c;就可以登录到远程服务器的命令行界面。登录方便&#xff0c;字体也可以在本地机的虚拟终端里设置得大一点。 下面是一张截屏图片。

STM32CubeMX学习笔记30---FreeRTOS内存管理

一、简介 1 基本概念 FreeRTOS 操作系统将内核与内存管理分开实现&#xff0c;操作系统内核仅规定了必要的内存管理函数原型&#xff0c;而不关心这些内存管理函数是如何实现的&#xff0c;所以在 FreeRTOS 中提供了多种内存分配算法&#xff08;分配策略&#xff09;&#xf…

大数据面试题 —— 数据库

目录 关系型数据库与非关系型数据库的区别数据库三范式MySQL中 drop、delete、truncate的区别MySQL中 char和 varchar 的区别MySQL中inner join、left join、right join以及full join的区别MySQL中 having 和 where 的区别count(*)、count(1)、count(列名)的区别MySQL中视图和表…

【MySQL数据库开发设计规范】之命名规范

欢迎点开这篇文章&#xff0c;自我介绍一下哈&#xff0c;本人姑苏老陈 &#xff0c;是一名JAVA开发老兵。 本文收录于 《MySQL数据库开发设计规范》专栏中&#xff0c;该专栏主要分享一些关于MySQL数据库开发设计相关的技术规范文章&#xff0c;定期更新&#xff0c;欢迎关注&…

每日OJ题_记忆化搜索②_力扣62. 不同路径(三种解法)

目录 力扣62. 不同路径 解析代码1_暴搜递归&#xff08;超时&#xff09; 解析代码2_记忆化搜索 解析代码3_动态规划 力扣62. 不同路径 62. 不同路径 难度 中等 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器…

python爬虫(三)之虎嗅网汽车文章爬虫

python爬虫&#xff08;三&#xff09;之虎嗅网汽车文章爬虫 闲来没事&#xff0c;闲鱼上有个好兄弟要我从虎嗅网上抓一些汽车文章的爬虫&#xff0c;于是大力出奇迹&#xff0c;我写了一个python程序&#xff0c;将这个网站上所有的汽车文章全部抓取下来了&#xff0c;存储到…

差速机器人模型LQR 控制仿真(c++ opencv显示)

1 差速机器人状态方程构建 1.1差速机器人运动学模型 1.2模型线性化 1.3模型离散化 2离散LQR迭代计算 注意1:P值的初值为Q。见链接中的: