Deepin系统安装x11vnc远程桌面工具实现无公网ip访问本地桌面

文章目录

    • 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

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

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

相关文章

形态学操作之开操作与闭操作的python实现——数字图像处理

原理 图像处理中的开操作(Opening)和闭操作(Closing)是形态学(Morphological)操作的两个基本类型,它们都是基于膨胀(Dilation)和腐蚀(Erosion)操…

ideal打包,如何访问项目根目录的libs中的jar包

参考&#xff1a;idea maven 导入lib中jar 并打包_maven引入lib中的jar包-CSDN博客 解决办法&#xff0c;只需要在pom文件中加入 <includeSystemScope>true</includeSystemScope> <build><!-- <includeSystemScope>true</includeSystemScope&g…

Asp .Net Core 集成 NLog

简介 NLog是一个基于.NET平台编写的日志记录类库&#xff0c;它可以在应用程序中添加跟踪调试代码&#xff0c;以便在开发、测试和生产环境中对程序进行监控和故障排除。NLog具有简单、灵活和易于配置的特点&#xff0c;支持在任何一种.NET语言中输出带有上下文的调试诊断信息…

transformer剪枝论文汇总

文章目录 NN Pruning摘要实验 大模型剪枝LLM-PrunerSparseGPT LTPVTPWidth & Depth PruningPatch SlimmingDynamicViTSPViTDynamicBERTViT SlimmingFastFormersNViTUVCPost-training pruning NN Pruning 《Block Pruning For Faster Transformers》 《为更快的transformer…

删除和清空Hive外部表数据

外部表和内部表区别 未被external修饰的是内部表&#xff08;managed table&#xff09;&#xff0c;被external修饰的为外部表&#xff08;external table&#xff09;&#xff1b; 区别&#xff1a; 内部表数据由Hive自身管理&#xff0c;外部表数据由HDFS管理&#xff1b; …

Flink 2.0 状态存算分离改造实践

本文整理自阿里云智能 Flink 存储引擎团队兰兆千在 FFA 2023 核心技术&#xff08;一&#xff09;中 的分享&#xff0c;内容关于 Flink 2.0 状态存算分离改造实践的研究&#xff0c;主要分为以下四部分&#xff1a; Flink 大状态管理痛点 阿里云自研状态存储后端 Gemini 的存…

golang windows 环境搭建 环境配置

golang windows 环境搭建 环境配置 Golang学习之路一环境搭建 MacBook Linux 树莓派raspberrypi安装Golang环境 官网下载地址: https://go.dev/dl/ https://golang.google.cn/dl/ 下载对应系统版本&#xff0c;例如windows 64位系统&#xff0c;下载&#xff1a;xxx.window…

vue项目打包时如何去除文件的hash值?

默认情况下&#xff0c;生成的静态资源在它们的文件名中包含了 hash 以便更好的控制缓存。然而&#xff0c;这也要求 index 的 HTML 是被 Vue CLI 自动生成的。如果你无法使用 Vue CLI 生成的 index HTML&#xff0c;你可以通过将这个选项设为 false 来关闭文件名哈希。 vue.c…

uniapp 使用renderjs引入echarts

效果图&#xff1a; 1.1renderjs引入echarts 组件zmui-echarts.vue&#xff1a; <template><view class"zmui-echarts" :prop"option" :change:prop"echarts.delay"></view> </template><script>export defaul…

mac电脑快捷指令实现拼图

mac访达&#xff0c;搜索输入‘快捷指令’&#xff0c;找到‘快捷指令’&#xff0c; 点击快捷指令&#xff0c;进入快捷指令中心&#xff0c;搜索‘拼图’ &#xff0c;选中‘照片拼图’&#xff0c; 点击‘添加快捷指令’&#xff0c; 在‘所有快捷键指令’中可以看到添加的快…

我的docker随笔43:问答平台answer部署

本文介绍开源问答社区平台Answer的容器化部署。 起因 笔者一直想搭建一个类似stack overflower这样的平台&#xff0c;自使用了Typora&#xff0c;就正式全面用MarkdownTyporagit来积累自己的个人知识库&#xff0c;但没有做到web化&#xff0c;现在也还在探索更好的方法。 无…

Swift Combine 从入门到精通一

1. Combine 简介 用 Apple 官方的话来说&#xff0c;Combine 是: a declarative Swift API for processing values over time. Combine 是 Apple 用来实现函数响应式编程的库&#xff0c; 类似于 RxSwift。 RxSwift 是 ReactiveX 对 Swift 语言的实现。 Combine 使用了许多可以…