当前位置: 首页 > news >正文

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数据隧道。

相关文章:

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

文章目录1.前言2.两台互联电脑的设置2.1 Windows安装VNC2.2 Ubuntu安装VNC2.3.Ubuntu安装cpolar3.Cpolar设置3.1 Cpolar云端设置3.2.Cpolar本地设置4.公网访问测试5.结语1.前言 记得笔者刚刚开始接触电脑时&#xff0c;还是win95/98的时代&#xff0c;那时的电脑桌面刚迈入图形…...

【C++】map、set、multimap、multiset的介绍和使用

我讨厌世俗&#xff0c;也耐得住孤独。 文章目录一、键值对二、树形结构的关联式容器1.set1.1 set的介绍1.2 set的使用1.3 multiset的使用2.map2.1 map的介绍2.2 map的使用2.3 multimap的使用三、两道OJ题1.前K个高频单词&#xff08;less<T>小于号是小的在左面升序&…...

css学习14(多媒体查询)

目录 多媒体查询 语法 示例代码 通用媒体查询 媒体功能参考列表 多媒体查询 CSS的媒体查询是一种CSS的技术&#xff0c;它可以根据不同的设备类型、屏幕尺寸、方向、分辨率等条件来应用不同的CSS样式&#xff0c;从而为不同的设备和屏幕提供最佳的浏览体验。这样&#xff…...

【C++进阶】C++11(中)左值引用和右值引用

文章目录左值引用左值引用的概念左值引用的使用右值引用右值引用的概念右值引用的使用左右值相互引用左值引用对右值进行引用右值引用对左值进行引用右值引用使用场景和意义左值引用的优势左值引用的短板右值引用的优势完美转发模板万能引用完美转发实际运用场景左值引用 左值…...

Python中的生成器【generator】总结,看看你掌握了没?

人生苦短&#xff0c;我用python python 安装包资料:点击此处跳转文末名片获取 1.实现generator的两种方式 python中的generator保存的是算法&#xff0c; 真正需要计算出值的时候才会去往下计算出值。 它是一种惰性计算&#xff08;lazy evaluation&#xff09;。 要创建一个…...

MD5加密竟然不安全,应届生表示无法理解?

前言 近日公司的一个应届生问我&#xff0c;他做的一个毕业设计密码是MD5加密存储的&#xff0c;为什么密码我帮他调试的时候&#xff0c;我能猜出来明文是什么&#xff1f; 第六感&#xff0c;是后端研发的第六感&#xff01; 正文 示例&#xff0c;有个系统&#xff0c;前…...

【Linux】虚拟地址空间

进程地址空间一、引入二、虚拟地址与物理内存的联系三、为什么要有虚拟地址空间一、引入 对于C/C程序&#xff0c;我们眼中的内存是这样的&#xff1a; 我们利用这种对于与内存的理解看一下下面这段代码&#xff1a; 运行结果&#xff1a; 观察父子进程中 val 变量的值&…...

四平方和题解(二分习题)

四平方和 暴力做法 Y总暴力做法&#xff0c;蓝桥云里能通过所有数据 总结&#xff1a;暴力也分好坏&#xff0c;下面这份代码就是写的好的暴力 如何写好暴力:1. 按组合枚举 2. 写好循环结束条件&#xff0c;没必要循环那么多次 #include<iostream> #include<cmath>…...

一篇文章搞定js正则表达式

我们测试正则表达式是否正确的方法有很多&#xff0c;例如通过正则表达式找到拼配的字符串&#xff1a; 在vscode编辑器中点击搜索框中的第三个按钮就可以实现&#xff1a; 或者 在浏览器中的控制台也可以实现&#xff1a; 我们可以通过下面的在线网站来测试你写的正则是否正确…...

[数据结构] 用两个队列实现栈详解

文章目录 一、队列实现栈的特点分析 1、1 具体分析 1、2 整体概括 二、队列模拟实现栈代码的实现 2、1 手撕 队列 代码 queue.h queue.c 2、2 用队列模拟实现栈代码 三、总结 &#x1f64b;‍♂️ 作者&#xff1a;Ggggggtm &#x1f64b;‍♂️ &#x1f440; 专栏&#xff1…...

官宣|Apache Flink 1.17 发布公告

Apache Flink PMC&#xff08;项目管理委员&#xff09;很高兴地宣布发布 Apache Flink 1.17.0。Apache Flink 是领先的流处理标准&#xff0c;流批统一的数据处理概念在越来越多的公司中得到认可。得益于我们出色的社区和优秀的贡献者&#xff0c;Apache Flink 在 Apache 社区…...

动态内存管理+动态通讯录【C进阶】

文章目录为什么存在动态内存分配❓&#x1f449;动态内存函数&#x1f448;malloc&freecallocrealloc❌常见的动态内存错误❌练习题&#x1fae0;C/C程序的内存开辟&#x1f914;柔性数组柔性数组的特点柔性数组的优势:star:动态通讯录:star:初始化添加销毁为什么存在动态内…...

基于pytorch+Resnet101加GPT搭建AI玩王者荣耀

本源码模型主要用了SamLynnEvans Transformer 的源码的解码部分。以及pytorch自带的预训练模型"resnet101-5d3b4d8f.pth"本资源整理自网络&#xff0c;源地址&#xff1a;https://github.com/FengQuanLi/ResnetGPT注意运行本代码需要注意以下几点 注意&#xff01;&a…...

多线程控制讲解与代码实现

多线程控制 回顾一下线程的概念 线程是CPU调度的基本单位&#xff0c;进程是承担分配系统资源的基本单位。linux在设计上并没有给线程专门设计数据结构&#xff0c;而是直接复用PCB的数据结构。每个新线程&#xff08;task_struct{}中有个指针都指向虚拟内存mm_struct结构&am…...

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

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

自定义类型 (结构体)

文章目录&#x1f4ec;结构体的声明&#x1f50e;1.结构的基础知识&#x1f50e;2.结构的声明&#x1f50e;3.特殊的声明&#x1f50e;4.结构的自引用&#x1f50e;5.结构体变量的定义和初始化&#x1f50e;6.结构体内存对齐&#x1f50e;7.修改默认对齐数&#x1f50e;8.结构体…...

第14届蓝桥杯STEMA测评真题剖析-2023年3月12日Scratch编程初中级组

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第113讲。 蓝桥杯选拔赛现已更名为STEMA&#xff0c;即STEM 能力测试&#xff0c;是蓝桥杯大赛组委会与美国普林斯顿多…...

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

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

十二届蓝桥杯省赛c++(下)

1、 拿到题目一定要读懂题意&#xff0c;不要看到这题目就上来模拟什么闰年&#xff0c;一月的天数啥的。这个题目问你当天的时间&#xff0c;就说明年月日跟你都没关系&#xff0c;直接无视就好了。 #include <iostream> #include <cstring> #include <algori…...

数据结构与算法——堆的基本存储

目录 一、概念及其介绍 二、适用说明 三、结构图示 四、Java 实例代码 五.堆和栈的区别 一、概念及其介绍 堆(Heap)是计算机科学中一类特殊的数据结构的统称。 堆通常是一个可以被看做一棵完全二叉树的数组对象。 堆满足下列性质&#xff1a; 堆中某个节点的值总是不大…...

来了来了 !!!K8s指令、yaml部署

文章目录k8s资源清单一、k8s资源指令1、基础操作2、命令手册二、资源清单1、required2、optional3、other4、资源清单格式5、常用命令三、部署实例1、nginx3、eureka部署k8s资源清单 一、k8s资源指令 1、基础操作 #创建且运行一个pod #deployment、rs、pod被自动创建 kubect…...

spring-cloud-feign实战笔记

feign 配置 针对单个feign接口进行配置feign:client:config:# feignName 注意这里与contextId一致&#xff0c;不能写成name&#xff08;FeignClientFactoryBean#configureFeign&#xff09;# 不能写成 client-b (微服务名称)&#xff0c;否则不生效helloFeignClient: # conte…...

【Pytorch】利用PyTorch实现图像识别

本文参加新星计划人工智能(Pytorch)赛道&#xff1a;https://bbs.csdn.net/topics/613989052 这是目录使用torchvision库的datasets类加载常用的数据集或自定义数据集使用torchvision库进行数据增强和变换&#xff0c;自定义自己的图像分类数据集并使用torchvision库加载它们使…...

在家查找下载最新《柳叶刀》The Lancet期刊文献的方法

《柳叶刀》The Lancet简介&#xff1a; 《柳叶刀》The Lancet是全球顶尖综合性医学期刊&#xff0c;每周都会发表来自世界各地顶尖科学家的研究精粹。是由托马斯威克利&#xff08;Thomas Wakley&#xff09;创办于1823年&#xff0c;由爱思唯尔&#xff08;Elsevier&#xff…...

当下的网络安全行业前景到底怎么样?还能否入行?

前言网络安全现在是朝阳行业&#xff0c;缺口是很大。不过网络安全行业就是需要技术很多的人达不到企业要求才导致人才缺口大常听到很多人不知道学习网络安全能做什么&#xff0c;发展前景好吗&#xff1f;今天我就在这里给大家介绍一下。网络安全作为目前比较火的朝阳行业&…...

SpringCloud:SpringAMQP介绍

Spring AMQP是基于RabbitMQ封装的一套模板&#xff0c;并且还利用SpringBoot对其实现了自动装配&#xff0c;使用起来非常方便。Spring AMQP官方地址 Spring AMQP提供了三个功能&#xff1a; 自动声明队列、交换机及其绑定关系基于注解的监听器模式&#xff0c;异步接收消息封…...

第十三届蓝桥杯省赛 python B组复盘

文章目录前言主要内容&#x1f99e;试题 A&#xff1a;排列字母思路代码&#x1f99e;试题 B&#xff1a;寻找整数思路代码&#x1f99e;试题 C&#xff1a;纸张尺寸思路代码&#x1f99e;试题 D&#xff1a;数位排序思路代码&#x1f99e;试题 E&#xff1a;蜂巢思路代码&…...

SQL注入之HTTP请求头注入

Ps&#xff1a; 先做实验&#xff0c;在有操作的基础上理解原理会更清晰更深入。 一、实验 sqli-lab 1. User-Agent注入 特点&#xff1a;登陆后返回用户的 User-Agent --> 服务器端可能记录用户User-Agent 输入不合法数据报错 payload: and updatexml(1,concat("~&…...

Metasploit详细教程

第一步&#xff1a;安装和启动Metasploit 您可以从Metasploit官方网站下载适用于您操作系统的Metasploit框架。安装Metasploit框架后&#xff0c;您可以使用以下命令来启动Metasploit&#xff1a; msfconsole该命令将启动Metasploit控制台。 第二步&#xff1a;查找目标设备…...

【ChatGPT】Notion AI 从注册到体验:如何免费使用

欢迎关注【youcans的GPT学习笔记】原创作品&#xff0c;火热更新中 【ChatGPT】Notion AI 从注册到体验1. Notion AI 介绍1.1 Notion AI 简介1.2 Notion AI 的核心能力1.3 Notion AI 与 ChatGPT 的比较2. Notion AI 国内用户注册2.1 PC 端用户注册2.2 移动端用户注册3. Notion …...

找网络公司做网站需要注意什么/爱站网怎么使用

编程作曲 软件 看到的一个视频...

京伦科技做的网站如何/百度一下你就知道官方网站

当一个函数返回一个对象时&#xff0c;我们称之他为 工厂函数(factory function)。 function createJelly() {return {type: jelly,colour: redscoops: 3}; }组合工厂函数 function createJelly() {return {type: jelly,colour: red,scoops: 3}; }function createIceCream(flav…...

海南做网站的/湘潭网站设计外包公司

少儿编程教学&#xff1a;手把手教你用Python编写推星星游戏(一) 游戏分享&#xff1a;手把手教你用Python编写推星星 游戏 &#xff08;一&#xff09; 2017.12.03 ​ 相信大家小时候 一定都玩过一个经典游戏 推箱子 今天&#xff0c;我们就一起来学习 推箱子的姐妹版游戏 推星…...

国外比较好的设计网站/seo的内容怎么优化

...

九江做网站的公司/营销型网站建设排名

题目描述&#xff1a; 编写一个 SQL 查询&#xff0c;获取 Employee 表中第二高的薪水&#xff08;Salary&#xff09; 。 ------------ | Id | Salary | ------------ | 1 | 100 | | 2 | 200 | | 3 | 300 | ------------ 例如上述 Employee 表&#xff0c;SQL查…...

想要提高网站排名应该怎么做/2023今日新闻头条

关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material ,...