Linux Deepin系统安装x11vnc+cpolar实现Windows系统电脑远程其桌面

文章目录

    • 1. 安装x11vnc
    • 2. 本地远程连接测试
    • 3. Deepin安装Cpolar
    • 4. 配置公网远程地址
    • 5. 公网远程连接Deepin桌面
    • 6. 固定连接公网地址
    • 7. 固定公网地址连接测试

x11vnc是一种在Linux系统中实现远程桌面控制的工具,它的原理是通过X Window系统的协议来实现远程桌面的展示和控制。在Linux系统中,X Window系统是用于图形界面显示的基础架构,它通过客户端-服务器的方式工作,x11vnc就是作为一个服务器程序来运行,接受客户端的连接并提供远程桌面服务。

Cpolar内网穿透是一种安全的内网穿透云服务,可以将内网下的本地服务器通过安全隧道暴露至公网,使得公网用户可以正常访问内网服务。它支持HTTP、HTTPS、TCP协议端口映射。

下面介绍在Deepin中安装x11vnc工具,并结合Cpolar内网穿透工具实现无公网IP也可以远程连接Deepin精美的桌面.

1. 安装x11vnc

首先更新仓库

sudo apt update

执行下面命令安装x11vnc

sudo apt install x11vnc -y

安装完成后设置密码,注意该密码是连接时需要输入的密码!

x11vnc -storepasswd

执行后会提示输入两遍密码,按照提示输入即可

image-20231205133319015

上面密码设置后,保存在这个位置/home/jon/.vnc/passwd(具体以自己显示路径为准),需要把这个密码文件复制一份到/etc/x11vnc.pass这个路径,执行下面命令复制

sudo cp /home/jon/.vnc/passwd /etc/x11vnc.pass

复制完成后,设置x11vnc开机启动,创建系统服务文件

sudo vim  /lib/systemd/system/x11vnc.service

把下面内容复制到里面,复制完成后记得保存

[Unit]
Description=Start x11vnc at startup.
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
 
[Install]
WantedBy=multi-user.target

设置好后, 通过下面系列命令设置启动和开机自启

#设置开机自启
sudo systemctl enable x11vnc

#启动x11vnc
sudo systemctl start x11vnc

#查看状态
sudo systemctl status x11vnc

执行上面启动和设置开机自启后,再执行查看状态命令,可以看到x11vnc运行正常,x11vnc安装完毕,下面进行本地测试连接

image-20231205135839866

2. 本地远程连接测试

Windows 需要下载vnc客户端,进入官网下载https://www.realvnc.com/en/connect/download/viewer/

image-20231205145239626

下载后直接安装即可,安装完成打开软件,输入局域网IP,然后回车

image-20231205145609766

出现提示框,选择勾选不再提示,点击continue

image-20231205145729793

然后输入安装时候设置的密码,可以选择保存密码,点击OK

image-20231205145902266

这样就可以看到了Deepin精美的桌面,本地安装测试就算完成了,下面进行远程访问连接设置,首先安装cpolar内网穿透工具

image-20231205145934243

3. Deepin安装Cpolar

Deepin 是基于Linux 的系统,可以使用cpolar Linux 安装方式一键快捷安装,在Deepin的命令终端界面,我们输入下面指令,如首次使用,可以在下方官网链接中注册账号!

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令(执行命令后如果卡住表示需要输入Deepin sudo的密码)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装和成功启动服务后,浏览器上访问9200端口即:【http://127.0.0.1:9200】,使用cpolar官网注销的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可

image-20231205142602657

4. 配置公网远程地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:5900 (x11vnc默认端口)
  • 域名类型:临时随机TCP端口
  • 地区:选择China

点击创建

image-20231205150158690

然后打开左侧在线隧道列表,查看刚刚创建隧道后生成的 远程 tcp连接的地址,这个地址就是公网连接地址,我们可以在任意设备上使用该地址在VNC客户端进行远程桌面连接

image-20231205150315832

5. 公网远程连接Deepin桌面

上面在Cpolar中创建了远程Deepin 桌面的VNC公网地址,现在再次打开VNC客户端,输入Cpolar中的公网地址,然后回车

image-20231205150548536

出现提示框,勾选不再提示,然后点击continue

image-20231205150741743

输入登录的密码

image-20231205150914192

我们可以看到远程连接成功,看到了我们精美的Deepin 桌面,这样我们一个远程Deepin桌面的公网地址就设置好了

image-20231205150940080

小结

上面为了更好地演示,我们在前述过程中使用了Cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定TCP域名,原因是我希望将地址发送给同事或客户时,它是一个固定、易记的公网地址,这样更显正式,便于流交协作。

6. 固定连接公网地址

要注意的是,以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。

配置固定tcp端口地址需要将Cpolar升级到专业版套餐或以上。

保留一个固定tcp地址

登录Cpolar官网,点击左侧的预留,找到保留的tcp地址,为VNC隧道保留一个固定tcp地址:

  • 地区:选择China vip
  • 描述:即备注,可自定义

点击保留

image-20231205151316925

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

image-20231205151339737

打开Cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击右侧的编辑

image-20231205151418021

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写官网保留成功的地址,

点击更新

image-20231205151512844

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定TCP地址。

image-20231205151542504

7. 固定公网地址连接测试

固定好了地址后,使用我们固定的TCP地址进行连接,打开VNC客户端,输入Cpolar中的固定公网地址,然后回车

image-20231205151704348

同样勾选不再提示,然后点击continue

输入vnc密码,这次可以选择记住密码,然后点击OK

可以看到,固定地址远程桌面成功,这样一个固定的远程Deepin桌面公网地址就设置好了,所有的设置都已经配置完成,接下来就可以使用公网地址在随时随地任意设备远程精美的Deepin桌面了
image-20231205151933512

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux用git拉取我云端以及git处理冲突

拉取后切换一个跟云端分支(dev)一样的 git branch --set-upstream-toorigin/dev dev 之后就同步了 A在dev分支写了iii,提交 B在dev分支写了hhh,提交,冲突 怎么修改,B把云端的拉下来,随便改改就行

YOLOv7 | 添加GSConv,VoVGSCSP等多种卷积,有效提升目标检测效果,代码改进(超详细)

⭐欢迎大家订阅我的专栏一起学习⭐ 🚀🚀🚀订阅专栏,更新及时查看不迷路🚀🚀🚀 YOLOv5涨点专栏:http://t.csdnimg.cn/QdCj6 YOLOv7专栏: http://t.csdnimg.cn/dy…

Qt 多元素控件

Qt开发 多元素控件 Qt 中提供的多元素控件有: QListWidgetQListViewQTableWidgetQTableViewQTreeWidgetQTreeView xxWidget 和 xxView 之间的区别 以 QTableWidget 和 QTableView 为例. QTableView 是基于 MVC 设计的控件. QTableView 自身不持有数据. 使用QTableView 的 …

latex如何让标题section取消数字标号

解决方法——加一个*号 在LaTeX中,如果你想让section标题取消数字标号,可以使用section*代替section。section*将生成一个不带数字标号的节标题。 例如,你可以这样写: \section*{这是不带数字标号的节标题}这将生成一个标题&am…

给老婆整了个短剧搜索机器人APP

最近短剧挺火,很多群友们都在做一些资源分享,老胡于是基于这些资源做了个短剧搜索引擎,挺多朋友喜欢看的,我老婆也在看哈哈,真上头,废话不多说,上短剧机器人。 短剧机器人 直接在微信群输入&…

解决由于历史原因解析tflite失败的问题

文章目录 0. 背景1. tflite 历史遗留问题2. schema3. flatbuffers 编译器3.1 安装 FlatBuffers 编译器3.2. 编译 FlatBuffers schema 文件3.3 使用生成的 Python 文件 4 问题未解决终极解决方案 写在最前面:解决方法是升级tensorflow版本,重新生成tflite…

【go从入门到精通】if else 条件控制

Go 语言条件语句: 在 Go 语言中,条件语句用于根据不同的条件执行不同的代码。Go 语言提供了两种条件语句:if 语句和switch 语句。 if语句 if由一个布尔表达式后紧跟一个或多个语句组成。 语法 Go 编程语言中 if 语句的语法如下&#xff…

反向海淘系统中的数据安全挑战与解决方案探讨

**反向海淘系统中的数据安全挑战与解决方案探讨** **一、背景** 随着反向海淘市场的不断扩大,涉及的数据安全挑战也日益增多。本文旨在探讨反向海淘系统中面临的数据安全挑战,以及相应的解决方案。 **二、数据安全挑战** 1. **数据传输安全**&#x…

微信支付宝--充ChatGPTPLUS/openAI key

ChatGPT是人工智能技术驱动的自然语言处理工具,它能够基于在预训练阶段所见的模式和统计规律,来生成回答,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写论文、邮件、脚本、文案、翻译、代码等…

【Python】反编译PyInstaller打包的exe

查看exe基本信息 需要反编译的exe 查看exe文件的打包工具,查看exe信息的软件叫Detect It Easy(查壳工具) 由图我们可以看出当前选中的exe文件是由名叫PyInstaller的打包工具打包好的exe 反编译 exe反编译工具:pyinstxtractor.py 使用方法 python py…

面试算法-65-二叉树的层平均值

题目 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[3.00000,14.50000,11.00000] 解释:第 0 层的…

【Spring高级】AOP和动态代理

目录 AspectJ实现AOPJava Agent实现AOPProxy(代理)模式实现AOPJDK代理CGLIB代理 AOP的底层实现切点Aspect与Advisor切面AOP底层的实现演示 Spring中的代理选择 在Java中,AOP(面向切面编程)的实现可以通过以下几种方法&…

MySQL的日志:undo log、redo log、binlog有什么作用

目录 从一个update语句说起 undo log 为什么需要undo log undo log 版本链 undo log 是如何持久化到磁盘? redo log 为什么需要redo log redo的组成 redo Log的刷盘策略 redo Log循环写 crash-safe能力 binlog 为什么需要 binlog ? binlog与redo lo…

淘宝API接口开发系列——淘宝详情数据采集

淘宝详情数据采集涉及多种技术和方法,下面列举几种常见的方式: 请求示例,API接口接入Anzexi58 爬虫技术:使用编程语言(如Python)编写网络爬虫程序,通过模拟浏览器行为访问淘宝网站,…

XMind:让思维可视化,提升工作效率的利器

XMind是一款全球领先的开源思维导图和头脑风暴软件,它应用全球最先进的Eclipse RCP软件架构,拥有优秀的用户体验,凭借简单易用、功能强大的特点,在2013年被著名互联网媒体Lifehacker评选为全球最受欢迎的思维导图软件。目前&#…

PyQt上手指南

文章目录 前言PyQt的好处从一个最简单的例子入手PyQt5基础组件体系源码结构 Qt Designer基础布局高级界面Web控件 多线程列表图形绘制PyQt5.QtGuiPyQtGraphmatplotlib和PyQt结合和mplfinance结合 工具使用打包链接 前言 用户界面开发,我搞过visual C MFC、Delphi V…

【链表】Leetcode 142. 环形链表 II【中等】

环形链表 II 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系…

ruoyi-activiti添加用车申请流程(二)

实体类Car中必须要有String userId属性。 设置自定义表单为system/car/deptleadercheck: 然后在CarController中编写system/car/deptleadercheck对应的函数: GetMapping("/deptleadercheck")public String deptleadercheck(String taskid, M…

学习总结!

最近主要学习了java&#xff0c;题目的话就写了两道。 这道题目运用三维的bfs&#xff0c;第一次做时无从下手&#xff0c;原来可以利用三维数组&#xff08;第一次用三维数组&#xff09;可以解决这类问题&#xff0c;然后套bfs模板即可。 #include<iostream> #include…

算法体系-11 第十一节:二叉树基本算法(上)

一 两链表相交 1.1 题目描述 给定两个可能有环也可能无环的单链表&#xff0c;头节点head1和head2。请实现一个函数&#xff0c;如果两个链表相交&#xff0c;请返回相交的 第一个节点。如果不相交&#xff0c;返回null 【要求】 如果两个链表长度之和为N&#xff0c;时间复杂…