Ubuntu使用vnc远程桌面【远程内网穿透】

文章目录

      • 1.前言
      • 2.两台互联电脑的设置
        • 2.1 Windows安装VNC
        • 2.2 Ubuntu安装VNC
        • 2.3.Ubuntu安装cpolar
      • 3.Cpolar设置
        • 3.1 Cpolar云端设置
        • 3.2.Cpolar本地设置
      • 4.公网访问测试
      • 5.结语

1.前言

记得笔者刚刚开始接触电脑时,还是win95/98的时代,那时的电脑桌面刚迈入图形化不久,还存在很多问题,比如被无数次调侃的蓝屏白字和惊心动魄的音效,但也确实深深吸引了笔者(尽管那时候都在玩游戏),算是打开了笔者的兴趣之门。接下来的时间里,各种不同的操作系统都迈进了图形化时代,以黑屏白字显示的操作系统越来越少。恰逢乔帮主的苹果电脑风靡全球,为了体验不同的图形界面风格,笔者还下载安装过苹果风格的桌面模拟包(彼时的苹果不兼容intelCPU,更重要的原因是买不起那时的苹果电脑…),但带来的后果就是Windows系统的各种不稳定和崩溃。

现在各种操作系统的图形化界面日臻成熟,风格也逐渐趋于类似。笔者将淘汰的电脑装上了不同的操作系统,时不时的开机感受下不同风格的操作界面,也会在不同操作系统上安装一些特色软件玩一玩。直到桌面连接软件的出现,笔者就开始使用桌面连接软件,在Windows系统上打开其他操作系统的桌面进行操作。可以说桌面连接软件的出现,给笔者省了不少麻烦。而随着软件技术的发展,已经出现了能远程连接局域网内不同操作系统桌面的软件组合,更是大大拓展了可玩性。今天,笔者就为大家介绍很有特色的一种:使用Cpolar+VNC的组合,实现远程连接其他系统的桌面。

2.两台互联电脑的设置

为便于说明两台不同操作系统之间使用VNC互联的操作步骤,笔者使用了安装Ubuntu系统的电脑,以及安装了Windows系统的电脑。如果打算在其他操作系统的电脑进行互联,也可以参照这些步骤进行。

2.1 Windows安装VNC

由于笔者平时使用的电脑都是Windows操作系统,因此需要以Windows连接其他操作系统桌面。首先要在Windows上安装VNC,只要访问VNC官网(https://www.realvnc.com/en/connect/download/viewer/),下载适用Windows系统的VNC版本。

20230315152001

Windows版的VNC下载完成后,双击.exe文件,并一路next即可完成安装。安装期间可能出现选择软件安装位置的提示框,只要选择local hard drive位置即可。

20230315152002

20230315152003

20230315152004

2.2 Ubuntu安装VNC

接着在打算连入的操作系统上安装VNC,这里打算连入的是Ubuntu系统,因此是在Ubuntu系统上安装VNC(其他操作系统以此类推)。

需要注意的是,想要远程连接Ubuntu的图形化桌面,可能需要先执行图形化桌面的安装命令

sudo apt install ubuntu-desktop 
sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

再输入命令重启Ubuntu,就能启用图形化桌面

sudo reboot

为了能更好的获得Ubuntu的图形化界面,还可以选择安装lightDM,输入命令

sudo apt-get install lightdm

就能安装lightDM,安装期间出现的询问,我们按键盘上的Tab选择light即可。

20230315152005

20230315152006

接着在Ubuntu的命令行界面输入命令

sudo apt-get install x11vnc

就能自动安装VNC

20230315152007

完成VNC的安装后,最好再将VNC设置为开机启动(毕竟谁也不想每次重启Ubuntu后都要重新启动VNC软件)。输入命令

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

新建一个x11vnc.service文件,其中vim可以输入命令sudo apt install vim进行安装,如果没有安装vim就无法建立x11vnc.service文件,接着按i键进入该文件的编辑模式,并输入如下命令:

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

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/<USERNAME>/.vnc/passwd -rfbport 5900 -shared

[Install]
WantedBy=multi-user.target

需要注意的是,蓝色显示的<USERNAME>需要替换为Ubuntu的实际用户名。

20230315152008

在指令添加完毕后,就可以输入:wq保存并退出。

最后,将其设置为开机启动

sudo systemctl enable x11vnc.service

启动服务

sudo systemctl start x11vnc.service

完成Ubuntu的VNC设置后,就可以接着安装Cpolar为我们远程通过VNC连接Ubuntu桌面进行准备

2.3.Ubuntu安装cpolar

相较来说,在Ubuntu上安装cpolar就要简单得多,只要输入命令:

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

就可以自动安装cpolar。如果是国外用户,还可以使用短链接进行安装:

curl -sL https://git.io/cpolar | sudo bash

20230315152009

安装程序完成后,可以输入命令cpolar version查看版本号,只要能显示出版本号,就说明cpolar已经成功安装。

20230315152010

接着,就可以通过浏览器访问cpolar的官网(www.cpolar.com)注册属于自己的账号并在cpolar官网登录,获取cpolar客户端的token码激活cpolar的客户端。当然,首先就是注册成为cpolar的用户(cpolar以注册名为划分,为每个客户生成单独的数据通道,并且生成用户唯一的token码,以此保证数据安全),并且新用户注册也非常简单。

20230315152011

在完成用户注册,并以注册用户登录cpolar官网后,就可以在cpolar网站主页面看到一串十分复杂的token码。

20230315152012

我们将这串token码复制下来,粘贴到Ubuntu的命令行界面并输入,具体的命令为:

cpolar authtoken (此处粘贴那串复杂的token码)

20230315152013

Token码输入后,就会被自动写入cpolar的配置文件中。此时我们就可以在Ubuntu的浏览器中,输入localhost:9200,打开cpolar的Web-UI界面。

20230315152014

在登陆界面输入已注册的用户名和密码后,就能进入cpolar客户端主界面。在这里我们能对已建立的隧道进行操作,也可以从这里建立一条临时隧道短暂使用。

20230315152015

不过正如前文所述,笔者并不想每天都重设一次VNC的连接地址,并且远程桌面连接所需的带宽也不小,因此直接升级Cpolar到专业套餐,而多出来的几个固定TCP、HTTP隧道,正好可以拿来发布网页或其他用途。

3.Cpolar设置

想要使用cpolar生成一天能够长期持续稳定存在的数据隧道,需要从cpolar云端和cpolar客户端两方面进行设置。其中,cpolar云端主要负责生成内网穿透数据隧道的入口,也就是公共互联网的地址(也可以看做一条空白的数据隧道);而cpolar客户端则是将数据隧道的入口与本地软件输出端口连接起来。因此,我们需要先登录cpolar云端,设置一条空白数据隧道。

3.1 Cpolar云端设置

在cpolar官网主界面左侧,找到并点击“预留”按钮,进入预留数据隧道设置页面,这里就是创建个人专属的空白数据隧道(TCP\HTTP\FTP等)的设置页面,这条数据隧道能生成一个公共互联网地址(即隧道的公共互联网地址)。

20230315152016

为了方便数据隧道的创建,自然需要输入一些简单信息,这些信息主要为:

  • 地区 – 只要在下拉菜单中,就近选择即可(离得近能降低延迟);
  • 描述 – 该栏可以看做数据隧道的备注,方便分辨即可;

20230315152017

信息设置完成后,点击右侧的保留按钮,将这条数据隧道保留下来,并生成一个公共互联网地址。

20230315152018

在这里,我们需要复制地址栏位的内容,以便在cpolar客户端设置时填入。

3.2.Cpolar本地设置

完成了cpolar云端的设置后,我们回到cpolar客户端,在cpolar客户端点击软件界面左侧隧道管理项下的创建隧道按钮,进入cpolar本地的数据隧道创建页面。在这里同样需要对几项信息进行设置,才能让云端生成的空白数据隧道与本地输出端口连结起来(免费版cpolar想要创建数据隧道,也是这样操作),这些内容主要为:

  • 隧道名称 —— 可看做数据隧道的备注,用来区分不同隧道的应用场景;
  • 协议 —— 即数据隧道的传输协议,如网页、数据传输、设备互联等,这里选择TCP协议;
  • 本地地址 —— 这里需要填入软件(或内网设备)的端口号,而VNC的端口号为5900,因此在至此填入5900;
  • 端口类型 —— 也就是内网穿透数据隧道类型,在cpolar云端设置了保留隧道的,就可以选择“固定TCP端口”;若只是> - 临时测试,就可以选择“随机临时TCP端口”(需要注意,固定TCP端口要将cpolar升级至专业版及以上);
  • 预留的TCP地址 —— 在选择了“固定TCP端口”后就会出现该栏位,这里就要将cpolar云端生成的地址粘贴进来(若勾选 “随机临时TCP端口”,则不会出现该栏位);

各项设置都填入后,点击下方的创建按钮,就能将云端空白数据隧道与本地Ubuntu的VNC软件连接起来,从而让其他系统内的VNC软件能够连接到Ubuntu系统桌面。

20230315152019

隧道创建成功后,就能够生成拥有公共互联网地址,连接本地Ubuntu系统的VNC软件隧道。这条隧道可以在隧道管理项下的隧道列表页面看到,并可以在这个页面对隧道进行操作,如开启、关闭、删除等,如果要修改这条数据隧道的信息,也可以在这个页面中找到修改入口。

20230315152020

而这条隧道的公共互联网地址,则可以在状态项下的在线隧道列表中看到。

20230315152021

4.公网访问测试

现在,我们在Windows和Ubuntu都安装了VNC,并且cpolar的数据隧道也已经成功建立,接下来,我们就可以尝试使用VNC,在Windows上操作Ubuntu的桌面。

只要在Windows上打开VNC软件,在左上角的“File”菜单点击“New connection”选项,就能打开连接页面。

20230315152022

New connection页面,需要将Ubuntu上cpolar生成的公共互联网地址,填入VNC Server栏位中,指导VNC找到Ubuntu系统。

20230315152023

最后点击页面下方的“OK”并输入密码,就能成功从Windows系统,连入Ubuntu系统的桌面,并进行所需的操作。

20230315152024

20230315152025

5.结语

至此,我们使用VNC+cpolar的软件组合,从Windows桌面连接Ubuntu系统桌面的尝试就算成功了。在这次操作中,VNC软件可以替换为其他的桌面互连软件,以适应不同用户的操作习惯。需要注意的是,远程桌面操作消耗带宽较大,为获得更好的操作体验,最好使用付费版的cpolar数据隧道。

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

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

相关文章

C++三种继承方式

C继承的一般语法为&#xff1a;class 派生类名:&#xff3b;继承方式&#xff3d; 基类名{派生类新增加的成员};继承方式限定了基类成员在派生类中的访问权限&#xff0c;包括 public&#xff08;公有的&#xff09;、private&#xff08;私有的&#xff09;和 protected&#…

Python|蓝桥杯进阶第五卷——数论

欢迎交流学习~~ 专栏&#xff1a; 蓝桥杯Python组刷题日寄 蓝桥杯进阶系列&#xff1a; &#x1f3c6; Python | 蓝桥杯进阶第一卷——字符串 &#x1f50e; Python | 蓝桥杯进阶第二卷——贪心 &#x1f49d; Python | 蓝桥杯进阶第三卷——动态规划 ✈️ Python | 蓝桥杯进阶…

Linux基本命令

相比Windows系统而言&#xff0c;在一般的企业开发中&#xff0c;使用linux系统无疑是更加广泛的&#xff0c;因此掌握常见的linux基本命令于我们来说是必要的&#xff0c;本文就是对Linux基本命令的简单介绍。 ls 列出当前目录下&#xff0c;所包含的目录及文件&#xff1b; …

学习系统编程No.9【文件操作】

引言&#xff1a; 北京时间&#xff1a;2023/3/23/6:34&#xff0c;可能是昨天充分意识到自己的摆烂&#xff0c;所以今天起的比较早一点吧&#xff01;昨天摆烂的头号原因&#xff0c;笔试强训&#xff0c;加上今天4节课&#xff0c;可以说一整天都是课&#xff0c;所以能不能…

【CE进阶】lua脚本使用

▒ 目录 ▒&#x1f6eb; 导读需求开发环境1️⃣ 脚本窗口Lua ScriptLua EngineAuto assemble2️⃣ 全局变量3️⃣ 进程当前打开的进程ID系统的进程列表系统的顶部窗口列表4️⃣ 线程5️⃣ 输入设备6️⃣ 屏幕7️⃣ 剪贴板&#x1f6ec; 文章小结&#x1f4d6; 参考资料&#x…

算法的时间复杂度和空间复杂度

目录 1 如何衡量一个算法的好坏 2.时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 2.3常见代码举例 2.3.1 Func2 O(N) 2.3.2 Func3 O(MN) 2.3.3 Func4 O(1) 2.3.4 Func5 strchr O(N) 2.3.5 Func6 冒泡排序 O(N^2) 2.3.6 Func7 二分…

菜鸟刷题Day6

⭐作者&#xff1a;别动我的饭 ⭐专栏&#xff1a;菜鸟刷题 ⭐标语&#xff1a;悟已往之不谏&#xff0c;知来者之可追 一.链表内指定区间反转&#xff1a;链表内指定区间反转_牛客题霸_牛客网 (nowcoder.com) 描述 将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转…

如何用深度强化学习做单元测试代码生成

设计一个用强化学习来生成单元测试代码的系统需要考虑以下几个方面&#xff1a; Agent&#xff1a;强化学习算法中的智能体&#xff0c;它需要接收当前环境状态&#xff0c;根据策略选择相应的动作并执行。 State&#xff1a;描述当前环境状态的特征。在这个问题中&#xff0c…

电脑长按电源键强行关机,对SSD有伤害吗?SSD 掉盘之殇

说到“按住电源键强制关机”的操作&#xff0c;想必大家都不会陌生&#xff0c;毕竟在电脑蓝屏或者电脑死机的时候&#xff0c;我们总是束手无策。而且&#xff0c;身边的人在遇到同样的情况时&#xff0c;往往都是选择长按电源键强制关机&#xff0c;所以当我们遇到同样的情况…

【算法】回溯法详解

一、概述 回溯法在包含的所有可能解的解空间树中&#xff0c;从根节点出发&#xff0c;按照深度有限的策略进行搜索&#xff0c;对于解空间树的某个结点&#xff0c;如果该节点满足问题的约束条件&#xff0c;则进入该子树继续进行搜索&#xff0c;否则将以该节点为根节点进行…

【算法】一文详解贪心法

一、概述 贪心法将一个复杂问题分解为一系列较为简单的局部最优解&#xff0c;每一步都是对当前解的一个扩展&#xff0c;直到获得问题的完全解。贪心法的典型应用时求解最优化问题&#xff0c;而且即使是非最优解&#xff0c;最终得出的解也和最优解比较近似 1.1 贪心法设计…

【多线程】常见的锁策略

✨个人主页&#xff1a;bit me&#x1f447; ✨当前专栏&#xff1a;Java EE初阶&#x1f447; ✨每日一语&#xff1a;老当益壮&#xff0c;宁移白首之心&#xff1b;穷且益坚&#xff0c;不坠青云之志。 目 录&#x1f3f3;️一. 乐观锁 vs 悲观锁&#x1f3f4;二. 普通的互斥…

清晰概括:进程与线程间的区别的联系

相关阅读&#xff1a; &#x1f517;通俗简介&#xff1a;操作系统之进程的管理与调度&#x1f517;如何使用 jconsole 查看Java进程中线程的详细信息&#xff1f; 目录 一、进程与线程 1、进程 2、线程 二、进程与线程之间的区别和联系 1、区别 2、联系 一、进程与线程 …

程序员接私活一定要知道的事情,我走的弯路你们都别走了

文章目录前言一、程序员私活的种类1.兼职职位众包2.自由职业者驻场3.项目整包二、这3种私活可以接1.有熟人2.七分熟的项目3.需求明确的项目三、这3种私活不要接1.主动找上门的中介单2.一味强调项目简单好做3.外行人给你拉的项目四、接单的渠道1.线下渠道2.线上渠道3.比较靠谱的…

计网之HTTP协议和Fiddler的使用

文章目录一. HTTP概述和fidder的使用1. 什么是HTTP2. 抓包工具fidder的使用2.1 注意事项2.2 fidder的使用二. HTTP协议格式1. HTTP请求格式1.1 基本格式1.2 认识URL1.3 方法2. 请求报头关键字段3. HTTP响应格式3.1 基本格式3.2 状态码一. HTTP概述和fidder的使用 1. 什么是HTT…

cpu中缓存简介

一级缓存是什么&#xff1a; 一级缓存都内置在CPU内部并与CPU同速运行&#xff0c;可以有效的提高CPU的运行效率。一级缓存越大&#xff0c;CPU的运行效率越高&#xff0c;但受到CPU内部结构的限制&#xff0c;一级缓存的容量都很小。 CPU缓存&#xff08;Cache Memory&#xf…

【设计模式】23种设计模式之七大原则

【设计模式】23种设计模式之七大原则什么是设计模式的原则1、单一职责原则基本介绍案例分析注意事项2、接口隔离原则基本介绍案例分析代码实现3、依赖倒转原则基本介绍案例分析依赖传递的三种方式注意事项4、里氏替换原则关于继承性的思考和说明基本介绍案例分析5、开闭原则ocp…

冲击蓝桥杯-并查集,前缀和,字符串

目录 前言 一、并查集 1、并查集的合并&#xff08;带路径压缩&#xff09; 2、询问是否为同一个集合 3、例题 二、前缀和 1 、前缀和是什么 2、经典题目 三- 字符串处理 1、字符串的插入 2、字符串转化为int类型 3、字符反转 前言 并查集合前缀&#xff0c;字符串…

Python让ChatGPT全自动改写生成文章教程

ChatGPT是一个在自然语言处理领域非常先进的文本生成模型&#xff0c;它能够产生高质量、连贯的文章。它受到了广泛的关注&#xff0c;因为它可以自动生成大量的文本&#xff0c;从而减轻了人工写作的负担。怎么使用chatgpt批量改写文章&#xff1f;最简单的方式就是找到一家接…

「Vue面试题」vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?

文章目录一、是什么二、如何做接口权限路由权限控制菜单权限方案一方案二按钮权限方案一方案二小结参考文章一、是什么 权限是对特定资源的访问许可&#xff0c;所谓权限控制&#xff0c;也就是确保用户只能访问到被分配的资源 而前端权限归根结底是请求的发起权&#xff0c;…