Back to Raspberry Pi Taiwan

【教學/基礎】使用 Raspberry Pi Connect 遠端連線

Last Updated on 2024 年 8 月 15 日 by 小編

Raspberry Pi Connect (rpi-connect)

如果想遠端存取 Raspberry Pi 的桌面,過去有許多技術可以實現,例如 VNCX Protocol (X Window System)Remote Desktop Protocol (RDP) 等,但如果還需要跨網段存取或是穿過防火牆的話就需要更多的設定才行了,而隨著 Raspberry Pi OS 進版到 Bookworm 預設使用 Wayland,傳統的 X remote desktop 將不再支援了,連 AnyDesk 也不能使用了,因為目前 AnyDesk 只支援 Raspbian/Raspberry Pi OS (32 bit) 和 Raspberry Pi OS 11 “Bullseye” 以下的版本。

什麼是 Raspberry Pi Connect?
Raspberry Pi Connect (rpi-connect) 是樹莓派公司所發布的遠端連線軟體,安全並且容易使用,只要使用 Web 瀏覽器就可以從任何地方遠端存取 Raspberry Pi。

使用 Raspberry Pi Connect 條件限制

要能使用 Raspberry Pi Connect (rpi-connect) 必須符合以下條件

使用 Raspberry Pi Connect 步驟

step 1

安裝 Connect 軟體

raspios_arm64-2024-03-15 以前的版本需要執行以下指令安裝 rpi-connect,但在 raspios_arm64-2024-07-04 之後的版本就內建 rpi-connect 軟體了。

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

如果開機後沒有啟動 rpi-connect,可以執行以下指令手動啟動 rpi-connect.service

systemctl --user start rpi-connect.service

手動啟動 rpi-connect service

step 2

將 Raspberry Pi 裝置和 Connect 帳號連結

安裝完成 rpi-connect 並且重開機以後,可以看到右上方工具列多了一個圖示,點選後選擇 Sign in

點選 rpi-connect 圖示

如果還沒有帳號,就免費建立一個 Raspberry Pi ID 吧。

建立 Raspberry Pi ID

建立 Raspberry Pi ID 只需要填寫一些基本資料就可以了。

填寫 Raspberry Pi ID 基本資料

建立完成後登入 Raspberry Pi ID,會需要對此一裝置命名。

建立 rpi-connect 裝置

step 3

使用 rpi-connect 遠端連線 Raspberry Pi 裝置

主控端可以用手機或是電腦能設備,從connect 後台登入,就可以看到目前已建立的裝置和狀態,並可以選擇連線方式。

從 connect.raspberrypi.com 登入到後台

connect 後台列出已建立的裝置

目前提供 螢幕分享(Screen Sharing)遠端 Shell(Remote Shell) 兩種方式連線。

Screen Sharing 和 Remote Shell 連線

如果使用 螢幕分享(Screen Sharing),會回傳整個桌面。

使用 Screen Sharing 連線

選擇 遠端 Shell(Remote Shell),可以透過網頁顯示 Shell 來輸入指令列。

Remote Shell 連線

Raspberry Pi Connect 技術說明

Raspberry Pi Connect 使用 WebRTC 和 Raspberry Pi 裝置建立安全的點對點連線,這與 ZoomSlackMicrosoft TeamsGoogle Meet 技術相同。而 Raspberry Pi Connect 使用 Daemon/Client 架構,其中 rpi-connect daemon 執行在 Raspberry Pi OS 負責聽是否有從 Raspberry Pi Connect website 來的螢幕分享 Session,再從瀏覽器內 VNC 用戶端和 VNC 伺服器端建立最低延遲的連線。

一般來說,一旦建立連接,任何流量都不需要經過樹莓派的伺服器。如果有不明原因而無法在您的瀏覽器和 Raspberry Pi 裝置之間建立直接連接,rpi-connect 和您的瀏覽器可能會選擇透過樹莓派的 TURN 伺服器使用 DTLS 加密而進行安全的傳輸。

常見問與答

要如何使用指令列顯示 rpi-connect 的狀態?

可以使用 rpi-connect status 查詢目前狀態。

查詢 rpi-connect 狀態

為什麼連線方式只有 Remote Shell 但是沒有 Screen Sharing?

rpi-connect 只支援 Remote Shell 連線

可能是 Wayland 顯示的啟動速度不夠快,因此無法讓 rpi-connect 做螢幕分享,可以使用以下指令重新安裝和重新啟動 rpi-connect 服務。

sudo apt-get install rpi-connect
systemctl --user restart rpi-connect-wayvnc
systemctl --user restart rpi-connect

如何在使用者沒有登入的情況下啟動 Remote Shell?

因為 rpi-connect 在 user-level 執行,而不是使用 root 執行,所以必須在使用者登入到裝置時才能啟動 rpi-connect,如果在停用自動登入的情況下將不能使用 rpi-connect 遠端存取裝置。

因此要在未登入裝置時繼續執行 rpi-connect,需要執行以下指令啟用使用者延遲(user-lingering)。

loginctl enable-linger

如何對 Connect 狀態進行除錯?

可以使用以下指令查詢 Connect 服務和專用 WayVNC 伺服器的日誌。

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

如何在 raspios_arm64-2024-07-04 之後的系統啟動 rpi-connect

可以從 sudo raspi-config 選單進入後,選擇 3 Interface Options > I2 RPi Connect 就可以啟動 rpi-connect 了。

3 Interface Options

I2 RPi Connect

啟用 Raspberry Pi Connect

參考資料

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Back to Raspberry Pi Taiwan