当前位置: 首页 > 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

http://www.lryc.cn/news/345913.html

相关文章:

  • 设计模式-08 - 模板方法模式 Template Method
  • Android 适配阿拉伯语之vector图标镜像
  • 推荐4个可用的github国内镜像
  • 从项目开始学习Vue——02(若依框架)
  • 使用JavaScript日历小部件和DHTMLX Gantt的应用场景(二)
  • springboot整合redis多数据源(附带RedisUtil)
  • Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
  • Apache Flume事务
  • 根据部门id删除该部门下的员工(事务)
  • Java之String类
  • es终止快照恢复进程的方法
  • ubantu安装rabbbitmq
  • 了解 条码工具 Dynamsoft 在条码读取器中的形态运算
  • NIO和NIO.2对比
  • Google准备好了吗?OpenAI发布ChatGPT驱动搜索引擎|TodayAI
  • 乐观锁、悲观锁、互斥锁、读写锁
  • Gin入门指南:从零开始快速掌握Go Web框架Gin
  • Scala里的class、object、case class、case object 、trait
  • 移动端自动化测试工具 Appium 之 main 启动
  • WT32-ETH01作为TCP Client进行通讯
  • jni 返回二维byte数组
  • “webpack-dev-server --config build/webpack.dev.conf.js” 请问这个问题要如何修复
  • TOOL使用fiddler导出的har文件导入到postman测试接口
  • 第十三届蓝桥杯决赛(国赛)真题 Java A 组【原卷】
  • 数据结构_顺序表中基本操作的实现_代码
  • 提升SEO排名!SSL证书对SEO效果的积极影响
  • JAVA 项目<果园之窗>_完结
  • Vue + Vite + Axios 项目多环境以及部署前后端跨域
  • Nginx+GateWay
  • React中间件的概念以及常用的实现