跳到主要内容

树莓派 Connect

介绍

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

Connect 使用示例

要使用 Connect,请在 Raspberry Pi 上 安装 Connect 软件。然后访问 connect.raspberrypi.com,在浏览器窗口中访问 Raspberry Pi 上运行的桌面或 shell。

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

Connect 目前处于测试版开发阶段。

提示

要使用 Connect,您的树莓派必须运行 Raspberry Pi OS Bookworm 或更高版本。

安装

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

sudo apt update
sudo apt upgrade

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

sudo apt install rpi-connect

安装完成后,重启 Raspberry Pi 或 手动启动 Connect 服务 以使用 Connect:

$ sudo reboot

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

Lite连接

我们发布了 Connect 的另一个 Lite 版本,它只支持远程 shell 访问,不支持屏幕共享。

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

sudo apt install rpi-connect-lite

重新启动树莓派或 手动启动 Connect 服务 以使用 Connect。

考虑使用 始终启用远程shell,以便在用户账户未登录时也能访问设备。

提示

精简版命令使用与完整版 Connect 相同的 rpi-connect 名称。rpi-connect-lite 只是一个软件包名称。

手动开始连接

提示

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

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

systemctl --user start rpi-connect

用 Raspberry Pi ID 连接 Raspberry Pi

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

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

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

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

通过 Raspberry Pi 桌面

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

安装

点击连接图标,从下拉菜单中选择 "登录"。

登录

通过命令行

使用以下命令生成一个链接,将您的 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 连接起来。

完成连接您的 Raspberry Pi

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

使用你的 Raspberry Pi ID 登录 Connect。

使用ID登录

通过身份验证后,为你的 Raspberry Pi 指定一个名称。选择一个有助于识别设备的名称。点击创建设备并登录按钮继续。

创建设备并登录

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

电子邮件提示
注意

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

单击 "连接 "系统托盘图标,打开 "连接 "菜单。该菜单显示当前登录状态、退出登录选项以及启用或禁用远程访问方法的选项。

提示

Connect 使用设备序列号登录通信。在设备之间移动 SD 卡将会退出 Connect。

访问你的 Raspberry Pi

现在,您的 Raspberry Pi 已出现在 Connect 控制面板上,您只需使用浏览器就可以在任何地方访问您的 Raspberry Pi。Connect 提供了多种远程与 Raspberry Pi 交互的方法。

屏幕共享

Connect 包括在浏览器中共享 Raspberry Pi 屏幕的功能。使用以下说明共享 Raspberry Pi 的屏幕。

提示

屏幕共享需要 Wayland 窗口服务器。默认情况下,Raspberry Pi OS 仅在 Raspberry Pi 5、4 或 400 上的 Raspberry Pi OS bookworm64位发行版中使用 Wayland。屏幕共享与 Raspberry Pi OS Lite 或使用 X 窗口服务器的系统不兼容

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

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

列出设备

单击要访问的设备右侧的Connect via连接按钮。从菜单中选择Screen sharing选项。这会打开一个浏览器窗口,显示 Raspberry Pi 的桌面。

连接屏幕共享

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

开始屏幕共享
提示

使用桌面上方的Copy from remotePaste to remote按钮,在本地和远程剪贴板之间传输文本。

连接后,连接仪表板中的Screen sharing徽章旁边会出现一个绿点。这表示正在进行屏幕共享会话。鼠标悬停可查看当前屏幕共享会话的数量。

屏幕共享激活

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

屏幕共享已连接

停止屏幕共享

要关闭屏幕共享会话,请单击桌面上方的Disconnect按钮。

结束屏幕共享

禁用屏幕共享

要关闭屏幕共享,请单击 Connect 系统托盘图标并取消选择 Allow screen sharing。 您的 Raspberry Pi 仍可登录 Connect,但您将无法从 Connect 面板创建屏幕共享会话。

禁用屏幕共享

您也可以使用以下命令禁用屏幕共享:

rpi-connect vnc off

在连接仪表板中,Screen sharing徽章和Connect via连接菜单中的Screen sharing选项将被划掉。

已禁用屏幕共享

要重新启用屏幕共享,请执行以下操作之一:

  • 单击 Connect 系统托盘图标并选择Allow screen sharing
  • 运行以下命令
rpi-connect vnc on

远程shell

Connect 包含从浏览器访问 Raspberry Pi 上运行的 shell 的功能。使用以下说明访问远程 shell。

在任何计算机上访问 connect.raspberrypi.com

Connect 会将你重定向到 Raspberry Pi ID 服务以登录。登录后,Connect 会显示链接设备的列表。可用于远程 shell 访问的设备会在设备名称下方显示一个灰色的 Remote shell 徽标。

列出设备

单击要访问的设备右侧的 Connect via 按钮。从菜单中选择 Remote shell 选项。这将在 Raspberry Pi 上打开一个 shell 会话。

远程shell连接

现在您可以像在本地一样使用 Raspberry Pi 了。

开始远程shell
提示

在某些操作系统上,浏览器会拦截Ctrl+Shift+CCtrl+C等组合键。相反,您可以使用右键菜单或Ctrl+Insert来复制,Shift+Insert来粘贴。

连接后,连接仪表板中的Remote shell徽章旁边会出现一个绿点。这表示远程 shell 会话处于活动状态。鼠标悬停可查看当前远程 shell 会话的数量。

远程shell激活
提示

每个远程 shell 连接都会创建一个全新的连接,就像 SSH 一样。要在多个会话中持续执行后台命令和配置,请使用 screentmux

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

远程shell已连接
提示

CONNECT_TTY 环境变量表示会话使用 Connect 提供的远程 shell。

结束远程shell会话

要关闭远程 shell 会话,请运行 exit 命令或关闭窗口。

结束远程shell

禁用远程shell访问

要关闭远程 shell 访问,请单击 Connect 系统托盘图标并取消选择 Allow remote shell。您的 Raspberry Pi 仍可登录 Connect,但您将无法从 Connect 面板创建远程 shell 会话。

已禁用远程shell

您也可以使用以下命令禁用远程 shell 访问:

rpi-connect shell off

在 Connect 面板中,Remote shell 徽标和Connect via 菜单中的Remote shell 选项将被划掉。

已禁用远程shell

要重新启用屏幕共享,请执行以下操作之一:

  • 单击 "连接 "系统托盘图标并选择允许远程 shell
  • 运行以下命令
rpi-connect shell on

始终启用远程shell

Connect 以用户级服务而非 root 运行。因此,只有当你的用户账户当前登录 Raspberry Pi 时,Connect 才能工作。如果在禁用自动登录的情况下重启,这可能会导致无法访问 Raspberry Pi。要在未登录设备时继续运行 Connect,请启用user-lingering。从您的用户账户运行以下命令启用用户登录:

loginctl enable-linger
提示

我们建议在所有无头 Raspberry Pi OS Lite 设置中启用用户登录,以防止远程重启后无法访问设备。

管理设备

Connect 面板列出了与您的 Raspberry Pi ID 关联的所有 Raspberry Pi 设备,并显示了访问这些设备的各种方法。

列出设备

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

设备明细

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

更新

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

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

重启设备,使更新生效:

sudo reboot

从 Connect 中断开设备连接

在你的 Raspberry Pi 上运行以下命令退出你的 Raspberry Pi ID,这将在 Connect 屏幕上禁用你的设备:

rpi-connect signout
提示

要从 Connect 帐户中完全移除 Raspberry Pi,请使用 从 Connect 面板中移除

卸载

运行以下命令从 Raspberry Pi 上删除 Connect 软件:

sudo apt remove --purge rpi-connect
提示

如果安装了 Connect Lite,请将上述命令中的 rpi-connect 替换为 rpi-connect-lite

卸载后,Raspberry Pi 的序列号仍与您的 Raspberry Pi ID 相关联。设备仍会出现在 Connect 面板中,但不能用于远程访问。如果在同一台 Raspberry Pi 上再次安装 Connect,即使使用不同的 SD 卡,它也会重复使用 Connect 面板中现有的设备名称。

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

故障排除

已知问题

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

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

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

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

启用增强日志记录

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

rpi-connect中启用增强日志功能

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

systemctl --user edit rpi-connect

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

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

您需要以 "ExecStart="开头的两行。

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

systemctl --user restart rpi-connect

在专用 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

查看 Connect 日志

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

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

中文翻译版以英文版相同知识授权方式共享:CC-BY-SA 4.0。交流 Q群:498908352