Raspberry Pi Connect 官方树莓派远程连接新方式

系列文章目录


前言

2024 年 5 月 7 日
戈登-霍林沃思

        今天,我们很高兴地宣布 Raspberry Pi Connect 测试版发布:这是一种安全、易用的方法,只需使用网络浏览器,就能从地球上的任何地方远程访问您的 Raspberry Pi。

        远程访问 Raspberry Pi 的桌面通常非常有用。有许多技术可以实现这一功能,包括 VNC,当然还有 X 协议本身。但它们可能很难配置,尤其是当你试图访问不同本地网络上的机器时;当然,随着 Raspberry Pi OS Bookworm 过渡到 Wayland,经典的 X 远程桌面支持已不再可用。

        我们希望能以我们一贯的 "就是好用 "的方式为您提供这一功能。进入 Raspberry Pi Connect。


一、如何获取 Raspberry Pi Connect?

        首先,Raspberry Pi Connect 需要你的 Raspberry Pi 运行使用 Wayland 窗口服务器的 64 位 Raspberry Pi OS Bookworm 发行版。这也就意味着,目前你需要一台 Raspberry Pi 5、Raspberry Pi 4 或 Raspberry Pi 400。

        假设你使用的是这些型号中的一种,请确保你已经从 Raspberry Pi Imager 安装了最新的 Raspberry Pi OS Bookworm,打开终端,输入

sudo apt update
sudo apt upgrade
sudo apt install rpi-connect

        现在重启 Raspberry Pi,你会在屏幕右上方的系统托盘中发现一个新图标。点击该图标并选择 "登录",即可开始使用。希望你会发现这些说明足够简单易懂,但如果你有需要,还有额外的文档介绍测试期间已知的限制。

二、底层是什么?

        我请 Raspberry Pi 负责网络开发的保罗-穆库尔(Paul Mucur)解释底层技术是如何工作的:

        当您通过网络浏览器使用 Raspberry Pi Connect 连接到您的 Raspberry Pi 设备时,我们会使用 WebRTC 在两者之间建立安全的点对点连接:该技术与 Zoom、Slack、Microsoft Teams 和 Google Meet 的浏览器内客户端所采用的实时通信技术相同。

        我们为 Raspberry Pi OS 设计的 "rpi-connect "守护进程负责监听来自 Raspberry Pi Connect 网站的新屏幕共享会话,并在浏览器内 VNC 客户端和设备上运行的 VNC 服务器之间协商最佳(即最低延迟)连接。一般来说,一旦建立连接,任何流量都无需通过我们的服务器。

        如果由于任何原因无法在浏览器和 Raspberry Pi 设备之间建立直接连接,rpi-connect 和浏览器可能会选择通过我们的服务器安全地转发流量,并使用 DTLS 加密。

三、点对点和中继连接

        目前,Raspberry Pi Connect 服务只有一个位于英国的中继(TURN)服务器。这意味着如果 rpi-connect 选择中继流量,延迟可能会很高。连接时,将鼠标悬停在浏览器中的挂锁图标上,就会显示您的连接是否被中继,这样您就能知道改变网络设置是否能改善连接。

        我们希望 Raspberry Pi Connect 对使用非中继连接的个人用户保持免费(如啤酒),对设备数量没有限制。我们还不知道有多少人需要通过我们的 TURN 服务器中继流量;我们将密切关注带宽使用情况,并决定今后如何处理这些连接。

        正如我在开头所说,Raspberry Pi Connect 目前处于测试阶段,因此请注意,您可能会偶尔遇到一些限制或不完善的地方。我们认为很多人会发现它很有用,希望你能按照上面或 Connect 文档中的说明安装并试用。您可以在我们论坛的 Raspberry Pi Connect 版块告诉我们您的想法。

四、Raspberry Pi Connect

4.1 简介

通过 Raspberry Pi Connect,您可以从世界任何地方安全地访问您的 Raspberry Pi。

        要使用 Connect,请在 Raspberry Pi 上安装 Connect 软件。然后访问 connect.raspberrypi.com,在浏览器窗口中通过屏幕共享访问你的 Raspberry Pi。您可以像将显示器插入 Raspberry Pi 一样使用桌面。

        Connect 使用安全的加密连接。默认情况下,Connect 会在 Raspberry Pi 和浏览器之间直接通信。但是,当 Connect 无法在 Raspberry Pi 和浏览器之间建立直接连接时,我们会使用伦敦的中继服务器。在这种情况下,Raspberry Pi 只保留操作 Connect 所需的元数据。

4.2 安装

        Connect 需要一台运行使用 Wayland 窗口服务器的 64 位 Raspberry Pi OS Bookworm 发行版的 Raspberry Pi。所需操作系统版本要求 Raspberry Pi 5、Raspberry Pi 4 或 Raspberry Pi 400。

注意
        Connect 与 Raspberry Pi OS Lite 或使用 X 窗口服务器的系统不兼容。

        要开始安装,请打开终端窗口。运行以下命令更新系统和软件包:

$ sudo apt update
$ sudo apt upgrade

4.2.1 安装 Connect

        在 Raspberry Pi 上运行以下命令安装 Connect:

$ sudo apt install rpi-connect

        安装完成后,重启 Raspberry Pi 以启动连接服务:

$ sudo reboot

        下次登录 Raspberry Pi 时,Connect 将自动启动。

4.2.2 启动连接

注意
        默认情况下,Connect 会在登录时自动启动。除非您从登录项目中删除 Connect,否则无需手动启动它。

        要从命令行手动启动服务,请运行以下命令:

$ systemctl --user start rpi-connect

4.3 使用 Connect

        现在您已经在 Raspberry Pi 上安装了 Connect,必须将 Raspberry Pi 与您的 Raspberry Pi ID 关联才能使用 Connect。

        如果没有 Raspberry Pi ID,请创建一个。

4.3.1 链接你的 Raspberry Pi 和 Raspberry Pi ID

        要将您的 Raspberry Pi 与您的 Raspberry Pi ID 关联,请使用 Connect 生成一个验证 URL。访问该 URL 并登录你的 Raspberry Pi ID,将你的 Raspberry Pi 添加到你的账户中。

        您可以使用 Raspberry Pi 桌面上的 Connect 图标或 rpi-connect CLI 生成验证 URL。

4.3.1.1 通过 Raspberry Pi 桌面

        一旦 rpi-connect 服务开始运行,Connect 图标就会出现在系统托盘中。

        点击连接图标,从下拉菜单中选择 "登录"。这将打开一个验证 URL,你可以用它将你的 Raspberry Pi 与你的 Raspberry Pi ID 连接起来。

4.3.1.2 通过命令行

        使用以下命令生成一个链接,将你的 Raspberry Pi 与你的 Raspberry Pi ID 连接起来:

$ rpi-connect signin

        该命令的输出结果如下

Complete sign in by visiting https://connect.raspberrypi.com/verify/XXXX-XXXX

        访问任何设备上的 URL,将您的 Raspberry Pi 与您的 Raspberry Pi ID 连接起来。

4.3.1.3 在 Connect 中完成连接您的 Raspberry Pi

        访问上一步生成的验证 URL。

        使用你的 Raspberry Pi ID 登录 Connect。

        验证后,为您的 Raspberry Pi 分配一个名称。选择一个有助于识别设备的名称。点击 "创建设备并登录 "按钮继续。

        现在,您可以通过 Raspberry Pi 进行屏幕共享。Connect 系统托盘图标将变为蓝色,表明您的 Raspberry Pi 已连接到 Connect 服务。您应该会收到一封电子邮件通知,表明有新设备已登录 Connect。

警告
                如果您收到一封电子邮件,显示您无法识别的设备已登录 Connect,请立即更改您的 Raspberry Pi ID 密码。从 Connect 中移除该设备,使其与您的帐户永久脱离关系。考虑启用双因素身份验证,以确保账户安全。

        单击 "连接 "系统托盘图标,打开 "连接 "菜单。该菜单显示当前登录状态、退出登录选项以及启用或禁用屏幕共享选项。

注意
        您也可以使用终端命令 rpi-connect 签出将 Raspberry Pi 从 Connect 中移除。

        Connect 会用你的设备序列号签署通信。在设备之间移动 SD 卡将会使你退出 Connect。

4.3.2 连接到你的 Raspberry Pi

        现在您的 Raspberry Pi 已被列入 Connect 门户网站,您只需使用浏览器就可以在任何地方共享 Raspberry Pi 的屏幕。

        在任何电脑上访问 connect.raspberrypi.com。

        Connect 会将你重定向到 Raspberry Pi ID 服务以登录。登录后,Connect 会显示链接设备的列表。可进行屏幕共享的设备名称下方会显示一个灰色的屏幕共享标签。

        点击要进行屏幕共享的设备右侧的连接按钮。这会打开一个浏览器窗口,显示 Raspberry Pi 的桌面。

        现在,您可以像在本地一样使用 Raspberry Pi。有关连接的更多信息,请将鼠标悬停在 "断开 "按钮右侧的挂锁图标上。

提示
        使用桌面上方的 "从远程复制 "和 "粘贴到远程 "按钮,在本地和远程剪贴板之间进行复制。

        连接后,"连接 "门户中的屏幕共享标签旁边会出现一个绿点。这表示正在进行屏幕共享会话。鼠标悬停可查看当前屏幕共享会话的数量。

                当屏幕共享会话正在进行时,系统托盘中的 "连接 "图标会变成紫色,并显示一个封闭的圆圈。

4.3.3 断开与 Raspberry Pi 的连接

        要关闭屏幕共享会话,请单击桌面上方的 "断开连接 "按钮。

4.3.4 关闭屏幕共享

        要关闭屏幕共享,请单击 "连接 "系统托盘图标并取消选择 "允许屏幕共享"。Connect 系统托盘图标的下半部分将变为灰色。您仍可登录 Connect,但屏幕无法共享。

        在连接门户中,该 Raspberry Pi 旁边的连接按钮和屏幕共享标签将消失。

        要重新启用屏幕共享,请单击 "连接 "系统托盘图标并选择 "允许屏幕共享"。

重要事项
        重新启动后,Connect 会自动启用屏幕共享。要永久禁用屏幕共享,请退出 Connect。

4.3.5 管理您的 Raspberry Pis

        Connect 会列出与您的 Raspberry Pi ID 链接的所有 Raspberry Pis。如果屏幕共享在每个设备上都已启用,则每个设备都有一个连接按钮,用于打开屏幕共享会话。每个设备的名称下都有一个标签列表,显示可用的服务。

        单击设备名称打开设备详细信息页面。此页面提供有关设备的底层信息。您还可以编辑设备名称或从连接中删除设备。

        从 Connect 中删除设备会自动退出该设备上的 Connect。Connect 系统托盘图标变成灰色,菜单只提供登录选项。

4.3.6 更新连接

        要更新到最新版本的 Connect,请运行以下命令:

$ sudo apt update
$ sudo apt install --only-upgrade rpi-connect

        重新启动设备,使更新生效:

$ sudo reboot

4.3.7 卸载 Connect

        运行以下命令从 Raspberry Pi 上卸载 Connect 软件:

$ sudo apt remove --purge rpi-connect

        卸载后,Raspberry Pi 的序列号仍与您的 Raspberry Pi ID 关联。设备仍会出现在 Connect 门户中,但不能用于屏幕共享。如果你在同一台 Raspberry Pi 上再次安装 Connect,即使使用不同的 SD 卡,它也会重复使用 Connect 门户中现有的设备名称。

        要切断 Raspberry Pi 和 Raspberry Pi ID 之间的联系,请从 Connect 门户的设备列表中删除 Raspberry Pi。

4.4 故障排除

4.4.1 已知问题

        Connect 仅支持共享 Raspberry Pi 的单个主显示屏。当 Raspberry Pi 连接到多个 HDMI 屏幕时,Connect 有时会共享副屏幕的内容。您可以右键单击桌面,在桌面偏好设置(Desktop Preferences).... 中更改任务栏的位置来解决这个问题。

        Connect 不支持屏幕键盘。要实现全部功能,请使用实体键盘。

        Connect 需要使用实现了 ECMAScript 2020 (ES11) 的浏览器,因为它使用了旧版浏览器无法使用的功能。

        浏览器会拦截某些按键和按键组合。因此,您无法在 Connect 窗口中键入这些按键。Connect 提供了一个工具栏来模拟一些最常用的拦截键。

4.4.2 启用增强日志记录

        您可以启用 rpi-connect 及其专用 WayVNC 服务器的调试日志,以详细记录 Raspberry Pi 上的本地操作。

4.4.2.1 在 rpi-connect 中启用增强的日志记录功能

        使用以下命令打开 rpi-connect 配置文件进行编辑:

$ systemctl --user edit rpi-connect

        在注释之间输入以下配置行:

ExecStart=
ExecStart=/usr/bin/rpi-connect-env /usr/bin/rpi-connectd -socket=%t/rpi-connect-wayvnc.sock -v

注意
        您需要使用以 ExecStart= 开头的两行。

        最后,使用以下命令重启服务:

$ systemctl --user restart rpi-connect
4.4.2.2 在专用 WayVNC 服务器中启用增强日志记录功能

        打开与 Connect 关联的专用 WayVNC 服务器的配置文件:

$ systemctl --user edit rpi-connect-wayvnc

        在注释之间输入以下配置行:

ExecStart=
ExecStart=/usr/bin/rpi-connect-env /usr/bin/wayvnc --config /etc/rpi-connect/wayvnc.config --render-cursor --unix-socket --socket=%t/rpi-connect-wayvnc-ctl.sock -Ldebug %t/rpi-connect-wayvnc.sock

注意
您需要使用以 ExecStart= 开头的两行。

        最后,使用以下命令重启服务:

$ systemctl --user restart rpi-connect-wayvnc

4.4.3 查看连接日志

        要查看 Connect 服务及其专用 WayVNC 服务器的日志,请运行以下命令:

$ journalctl --user --follow --unit rpi-connect --unit rpi-connect-wayvnc

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

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

相关文章

数据结构----二叉树

博主主页: 码农派大星. 关注博主带你了解更多数据结构知识 1. 树型结构 1.1 概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上…

Git克隆仓库报错:HTTP/2 stream 1 was not closed

报错及原因 fatal: unable to access ‘https://github.com/xxx/’: HTTP/2 stream 1 was not closed cleanly before end of the underlying stream http/2 和 http/1.1之间有个区别是“HTTP2 基于 SPDY,专注于性能,最大的一个目标是在用户和网站间只…

[leetcode] 68. 文本左右对齐

文章目录 题目描述解题方法贪心java代码复杂度分析 题目描述 给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词&#xff…

第五十八节 Java设计模式 - 适配器模式

Java设计模式 - 适配器模式 我们在现实生活中使用适配器很多。例如,我们使用存储卡适配器连接存储卡和计算机,因为计算机仅支持一种类型的存储卡,并且我们的卡与计算机不兼容。 适配器是两个不兼容实体之间的转换器。适配器模式是一种结构模…

Linux进程——进程地址空间

前言:在讲完环境变量后,相信大家对Linux有更进一步的认识,而Linux进程概念到这也快接近尾声了,现在我们了解Linux进程中的地址空间! 本篇主要内容: 了解程序地址空间 理解进程地址空间 探究页表和虚拟地址空…

具备教学意义的实操(用队列实现栈)

225. 用队列实现栈 - 力扣(LeetCode)https://leetcode.cn/problems/implement-stack-using-queues/description/ 实现逻辑 一个是先进先出(队列),一个是后进先出(栈) 这里用两个队列导入一下数据…

实体同城商家短视频获客,3天直播课,玩转实体商家私域,引爆门店增长

课程内容: 实体同城3天直播课【资料】 实体商家获客第一天 .mp4 实体商家获客第二天上.mp4 实体商家获客第二天,mp4 实体商家获客第三天.mp4 实体商家获客第4天.mp4 网盘自动获取 链接:https://pan.baidu.com/s/1lpzKPim76qettahxvxtjaQ?pwd0b8x…

什么是翘尾因素

在有关CPI 的分析文章和新闻稿件中,经常会出现“翘尾因素”或“翘尾影响” 等词汇,这是分析同比价格指数变动幅度时所特有的概念。那么什么是“翘尾因素” 或“翘尾影响”呢? 一、什么是翘尾因素 “翘尾因素”是指上年价格上涨(…

瀚高数据库(HighGoDB)Windows安装使用

1.下载 2.安装 瀚高数据库下载与安装(Windows版)-CSDN博客 3.连接工具 4.建库、建表操作 瀚高数据库管理工具-CSDN博客 *报错Cant access non-default database,需要右键数据库-设为活动对象 5.导入外部数据(迁移、对比&…

栈实现队列

一、分析 栈的特点是先出再入,而队列的特点为先入先出,所以我们创造两个栈,一个用来存放数据,一个用来实现其它功能此时栈顶为队尾;当要找队头数据时将前n-1个数据移入到另一个栈中,此时剩余那个数据为队头…

新时代背景下的班子建设挑战与对策

一、引言 随着新时代的到来,社会、经济和科技的飞速发展给组织班子建设带来了前所未有的挑战。如何在这一背景下建设一支高效、协作、创新的领导班子,已成为组织发展的核心议题。本文将从挑战与对策两个维度,深入剖析新时代背景下的班子建设…

Coursera吴恩达深度学习专项课程01: Neural Networks and Deep Learning 学习笔记 Week 02

Week 02 of Neural Networks and Deep Learning Course Certificate 本文是学习 https://www.coursera.org/learn/neural-networks-deep-learning 这门课的笔记 Course Intro 文章目录 Week 02 of Neural Networks and Deep LearningLearning Objectives [1] Logistic Regres…