DeskVNCServer - 指南

在 Mac 上執行標準的 VNC 伺服器,並與 QuickRemote 一起共享螢幕、剪貼簿、檔案,甚至 IME — 所有操作都在本地網路上完成,無需雲端中繼。


入門

1. 設定密碼

開啟「設定」(底部工具列的齒輪圖示),填寫 VNC password。標準 VNC 用戶端使用 RFB DES 質詢驗證,只會辨識前 8 個 ASCII 相容位元組 — 請選擇不超過 8 個字元的密碼。

關於短密碼: 這是 RFB 通訊協定本身的限制,而非 DeskVNCServer 的限制。如果需要更強的驗證,請將伺服器限制在私有網路中,或使用 QREX 流程(PIN 配對後的 Bearer 權杖)並停用 VNC 密碼。

2. 啟動伺服器

  1. 在主視窗點擊 Start。狀態指示器切換為 Running
  2. 同時啟動四個監聽器: VNC 5900、QREX control 5911、QREX media 4010 與 File API 8766
  3. 點擊 Copy Info 可將包含主機、連接埠與目前 PIN 的一行資訊複製到剪貼簿。

3. 連線用戶端

對於標準 VNC 檢視器(macOS Screen Sharing、RealVNC、TightVNC、行動端 VNC 應用程式):

  1. 開啟檢視器並輸入 vnc://<your-mac-ip>:5900 作為位址
  2. 輸入您在第 1 步設定的 VNC password
  3. 立即控制您的 Mac — 透過 RFB 進行鍵盤、滑鼠、複製/貼上操作

對於 QuickRemote 應用程式:

  1. 在手機或平板上開啟 QuickRemote,選擇 Add Mac
  2. 輸入 DeskVNCServer 顯示的 6 位配對 PIN(如果您的 QuickRemote 版本支援,也可以掃描 QR Code)
  3. QuickRemote 儲存傳回的 Bearer 權杖,並解鎖擴充功能 — IME、音訊、剪貼簿同步與檔案傳輸

介面概覽

狀態列

元素說明
伺服器標籤識別此面板。
狀態徽章監聽器作用中時顯示 Running,否則顯示 Stopped

操作按鈕

  • Start — 啟動所有四個監聽器。
  • Stop — 關閉所有監聽器並中斷作用中的工作階段。
  • Copy Info — 將簡短的連線摘要(主機、VNC 連接埠、控制連接埠、PIN)複製到剪貼簿,以便與用戶端共享。

連線面板

顯示繫結主機、連接埠、目前的 Server ID 與作用中的配對 PIN。設定變更時文字會自動更新。

QuickRemote API 面板

關於伺服器所使用通訊協定的快速參考。列出支援的 RFB 版本、QREX 端點結構與 IME 命令集,讓 QuickRemote(或您自己的用戶端)瞭解可用功能。


通訊協定與連接埠

服務預設連接埠通訊協定使用方
VNC / RFBTCP 5900RFB 3.8 / 3.7 / 3.3任意標準 VNC 用戶端
QREX controlTCP 5911HTTP JSON RPC + WebSocketQuickRemote 及其他 QREX 用戶端
QREX mediaUDP 4010QuickRemote 相容封包IME 訊息、音訊串流
File APITCP 8766QuickRemote 相容 HTTP瀏覽與傳輸檔案

驗證

  • VNC 用戶端 — RFB DES 密碼(已設定密碼的 ASCII 相容前 8 位元組)。
  • QREX 用戶端 — 在 POST /qr/v1/pair 進行初始 6 位 PIN 交換,傳回 Bearer 權杖。後續每個 QREX HTTP 呼叫與 WebSocket 框架都必須包含 Authorization: Bearer <token>
  • 如果 VNC password 為空,伺服器會公告標準 RFB no-auth 模式。僅適用於受信任的 LAN 區段。

QREX 端點快速參考

GET  /qr/v1/capabilities    # public, returns supported features
POST /qr/v1/pair            # public, exchange PIN for Bearer token
GET  /qr/v1/ws              # WebSocket, auth required
POST /qr/v1/ime/get         # auth required, query active IME
POST /qr/v1/ime/list        # auth required, list available IMEs
POST /qr/v1/ime/set         # auth required, switch IME
POST /qr/v1/ime/toggle      # auth required, toggle IME on/off
POST /qr/v1/ime/commit      # auth required, commit a text string

設定

設定預設值說明
Bind host0.0.0.0要監聽的介面。設定為 127.0.0.1 僅限本機存取。
VNC port5900標準 RFB 監聽器的 TCP 連接埠。
QREX control port5911HTTP + WebSocket QREX 流量的 TCP 連接埠。
QREX media UDP port4010IME 與音訊側通道封包的 UDP 連接埠。
QuickRemote file API port8766檔案瀏覽與傳輸 API 的 TCP 連接埠。
VNC password(空)最多 8 個 ASCII 相容位元組。為空表示 VNC 通道處於 no-auth 狀態。
QREX bearer token(已產生)配對時發放的有效權杖。透過重新配對或編輯此欄位重新產生。
Pairing PIN(已產生)配對期間顯示給 QuickRemote 的 6 位 PIN。重新產生時會更換。
Stable server ID(已產生)QuickRemote 用來識別此 Mac 的長期識別碼。
Start server automaticallyOff應用程式啟動時自動開啟監聽器。
Allow remote keyboard and mouseOn關閉可使工作階段僅供檢視。
Enable IME bridgeOn允許 QREX 用戶端查詢並控制 macOS 輸入法。
Enable audio APIOff允許透過 QREX media UDP 進行 Opus 音訊串流。為節省 CPU 預設關閉。
Enable clipboard syncOn在 Mac 與遠端用戶端之間鏡像剪貼簿內容。
Enable file transferOn允許 QuickRemote 列出與讀取檔案。除非同時啟用變更功能,否則為唯讀。
Enable file mutationsOff允許上傳、重新命名與刪除。預設關閉 — 僅對受信任的用戶端啟用。
Max frame width1440螢幕擷取寬度上限。降低值可減少頻寬。
Max frame height900螢幕擷取高度上限。
Frame rate12傳送給用戶端的目標每秒影格數。

用戶端範例

macOS Screen Sharing

  1. Finder → 前往 → 連線伺服器
  2. 輸入 vnc://<your-mac-ip>:5900
  3. 輸入 VNC password

cURL — 查詢功能

curl http://<your-mac-ip>:5911/qr/v1/capabilities

cURL — 配對並呼叫 IME bridge

# 1. Exchange the PIN for a Bearer token
TOKEN=$(curl -s http://<your-mac-ip>:5911/qr/v1/pair \
  -H "Content-Type: application/json" \
  -d '{"pin":"123456"}' | jq -r .token)

# 2. Commit text via the IME bridge
curl http://<your-mac-ip>:5911/qr/v1/ime/commit \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text":"hello from remote"}'

提示

  • 在使用慢速 Wi-Fi 或透過 VPN 路由連線時,請降低影格率與最大影格尺寸。
  • 每部裝置配對一次即可。完成初始 PIN 交換後,Bearer 權杖可在重新開機後保留,QuickRemote 會自動重新連線。
  • 使用 Copy Info 透過聊天或電子郵件傳送連線詳細資料 — 其中包含用戶端所需的全部內容。
  • 除非真的需要上傳,否則請將 Enable file mutations 保持關閉。唯讀模式足以瀏覽螢幕擷取畫面、筆記或下載內容。
  • 不使用音訊 API 時請將其停用。閒置的編碼器仍會在編碼路徑上占用少量 CPU。

疑難排解

伺服器無法啟動

  • 另一個 VNC 伺服器(例如 macOS Screen Sharing)可能已占用連接埠 5900。請從 System Settings → General → Sharing 停止,或在 DeskVNCServer 的設定中變更連接埠。
  • 連接埠 5911 / 4010 / 8766 必須全部閒置。使用 lsof -i :5911 等命令檢查。

VNC 用戶端驗證失敗

  • 請確認密碼不超過 8 個 ASCII 相容位元組。多位元組字元或更長的字串會被 RFB DES 驗證默默截斷。
  • 如果有意不設定密碼,請將該欄位留空,並使用支援 VNC no-auth 的檢視器連線。

QuickRemote 無法配對

  • 確認手機或平板與 Mac 處於同一個 Wi-Fi 網路。
  • 開啟連線面板重新查看 PIN。可在「設定」中重新產生 PIN。
  • 檢查 macOS 防火牆設定 — 必須允許 QREX 連接埠的傳入連線。

遠端控制感覺延遲

  • 在「設定」中降低影格率與最大影格尺寸。
  • 停用未使用的功能(音訊、剪貼簿、IME)以釋放 CPU。

檔案無法傳輸

  • 確認 Enable file transfer 已開啟。無需 Enable file mutations 即可使用唯讀列表。
  • 如果上傳失敗,請同時啟用 Enable file mutations。否則 File API 僅回應讀取要求。

隱私

  • 所有工作階段都直接在用戶端與您的 Mac 之間進行。沒有雲端中繼、遙測或分析。
  • VNC password、QREX Bearer 權杖、配對 PIN 與 Stable Server ID 僅儲存在本機應用程式設定中。
  • 檔案變更功能預設關閉。在您明確授予寫入權限之前,遠端用戶端只能讀取。
  • 可隨時停用任何擴充功能(音訊、剪貼簿、檔案傳輸、IME、遠端輸入)以立即撤銷該能力。
  • 如果想將伺服器保持在 Mac 本機,請將繫結主機設定為 127.0.0.1