這篇教學會完成什麼?
完成本教學後,您可以只用一條 RJ-45 網路線,讓 Raspberry Pi 5 與電腦直接建立網路連線,再以 Raspberry Pi OS 常見預設主機名稱 raspberrypi.local 從電腦開啟 VNC 桌面。這個方式適合沒有路由器、沒有螢幕,或要在現場快速維護設備的情境。
本教學以 Raspberry Pi OS Bookworm 為基礎。Bookworm 預設使用 Wayland,內建的 VNC 服務為 wayvnc;請先不要把 VNC 埠直接暴露到網際網路。直接網路線、受信任的區域網路或 VPN 都是較安全的使用方式。
開始前請準備
1. Raspberry Pi 5、可正常開機的 Raspberry Pi OS,以及已知的登入帳號與密碼。
2. 一台電腦與一條可正常使用的 RJ-45 網路線。多數現代網卡可自動判斷直連方式,因此先使用一般網路線即可;若兩端網路燈不亮,再依序檢查網路線、USB 網卡與網路孔。
3. 電腦上的 VNC Viewer。請使用支援標準 VNC 的用戶端;若連線後沒有畫面,先依本文的排錯步驟確認 Raspberry Pi OS 版本與 VNC 服務狀態。
4. 本文假設您在 Raspberry Pi Imager 或首次設定時沒有更改主機名稱,因此預設以 raspberrypi.local 示範。若您曾將主機名稱改為 pi5-lab,後續請一律將 raspberrypi.local 替換為 pi5-lab.local。
本教學的連線原理:mDNS 與 raspberrypi.local
raspberrypi.local 是 mDNS(Multicast DNS)主機名稱,不是固定 IP。電腦會在本地網路詢問「哪一台設備叫 raspberrypi」,Raspberry Pi 回應後便能連線。因此不需要先知道 Raspberry Pi 的 IP 位址。
先讓電腦與 Raspberry Pi 的乙太網路都維持「自動取得 IP(DHCP)」。沒有 DHCP 伺服器時,系統通常會建立 link-local 網段;只要電腦支援 mDNS,raspberrypi.local 仍可作為第一個嘗試的連線位址。
macOS 通常內建 mDNS。Windows 是否可解析 .local 取決於系統與網路環境;若 Windows 找不到 raspberrypi.local,請直接跳至本文的「mDNS 無法解析時:改用固定 IP」章節。
步驟 1:接上網路線並確認實體連線
將網路線一端插入 Raspberry Pi 的 eth0,另一端插入電腦乙太網路孔。等待約 10 秒,確認兩端網路孔的 Link/Activity 指示燈亮起或閃爍。若沒有燈號,先更換網路線或網路轉接器;在沒有實體連線時,後續 mDNS 與 VNC 都不會成功。
步驟 2:確認預設主機名稱並啟用 VNC 服務
在 Raspberry Pi 的終端機先執行 hostname。結果若是 raspberrypi,代表可依本教學使用 raspberrypi.local;若是其他名稱,請記下輸出結果並在其後面加上 .local,例如 pi5-lab 會使用 pi5-lab.local。
在 Raspberry Pi 終端機執行 sudo raspi-config,依序選擇「3 Interface Options」→「I3 VNC」→「Yes」。完成後離開工具;若畫面要求重新啟動,請重新開機。
可再執行 hostname -I 記錄目前 IP;這是排錯時的備用資訊,但日常連線先使用 raspberrypi.local 即可。
步驟 3:用 raspberrypi.local 以 VNC 登入
開啟 VNC Viewer,主機欄位輸入 raspberrypi.local。若用戶端要求連接埠,可使用 raspberrypi.local:5900;一般情況下只輸入主機名稱即可。登入時使用 Raspberry Pi OS 的帳號與密碼。
第一次連線成功後,您應看到 Raspberry Pi 桌面。請先開啟終端機執行 hostname 與 ip addr show eth0,確認您控制的是正確設備。
mDNS 無法解析時:改用固定 IP
Windows:開啟「設定」→「網路和網際網路」→「進階網路設定」→「更多網路介面卡選項」。以右鍵開啟 Ethernet 的內容,選擇「Internet Protocol Version 4 (TCP/IPv4)」,填入 IP 位址 192.168.50.10、子網路遮罩 255.255.255.0。閘道與 DNS 可留白。macOS 則在「系統設定」→「網路」→「乙太網路」→「詳細資訊」→「TCP/IP」將 IPv4 改為手動,填入相同的電腦位址與遮罩。
在 Raspberry Pi 執行:sudo nmcli connection add type ethernet ifname eth0 con-name direct-vnc ipv4.method manual ipv4.addresses 192.168.50.20/24 ipv6.method disabled;接著執行 sudo nmcli connection up direct-vnc。以 ip addr show eth0 確認有 192.168.50.20/24 後,在 VNC Viewer 輸入 192.168.50.20。
固定 IP 是備援方案。要回到本文預設的 raspberrypi.local 方式,可執行 sudo nmcli connection delete direct-vnc,並將電腦乙太網路改回 DHCP。
常見問題與排錯順序
問題 1|raspberrypi.local 找不到:先在 Raspberry Pi 執行 hostname,確認實際名稱是 raspberrypi;再確認電腦支援 Bonjour/mDNS。Windows 若仍無法解析,請依上一章改用固定 IP。
問題 2|VNC 連線被拒絕:在 Raspberry Pi 再次執行 sudo raspi-config,確認 VNC 已啟用;也確認網路線兩端有 Link 指示燈。
問題 3|連上後黑畫面或用戶端不相容:先更新 Raspberry Pi OS 與 VNC Viewer。Bookworm 預設為 Wayland;只有在舊版工具明確不相容時,再從 raspi-config 的「6 Advanced Options」→「A7 Wayland」評估切換 X11。切換前請記錄原設定,並在完成測試後決定是否保留。
問題 4|仍無法連線:在 Raspberry Pi 執行 hostname -I,記錄實際 IP 後先測試 ping 該 IP。若 ping 可通但 mDNS 不通,問題在電腦端 mDNS 解析;若 ping 也不通,請檢查網路線與 IP 設定。
完成檢查清單
□ 網路孔有 Link 指示燈。 □ hostname 顯示 raspberrypi(或已記下自訂名稱)。 □ raspi-config 的 VNC 已啟用。 □ VNC Viewer 可以以 raspberrypi.local 與 Raspberry Pi 帳密登入。 □ 未將 5900 直接轉發到公網。
官方參考資料
Raspberry Pi Documentation|Configuration:https://www.raspberrypi.com/documentation/configuration/
Raspberry Pi Documentation|Remote access:https://www.raspberrypi.com/documentation/computers/remote-access.html
Raspberry Pi Documentation|Networking:https://www.raspberrypi.com/documentation/computers/configuration.html#configuring-networking