VNC 螢幕共享
適合開啟 Xcode、檢查模擬器、查看 Keychain 設定,以及排查需要滑鼠操作的步驟。你看到的是遠端主機畫面,編譯工作並不會因此改在本機執行。
- 先使用單一顯示器與適中的解析度,確認文字、滑鼠和鍵盤輸入正常。
- 建議透過 SSH 通道連線,不要將 VNC 連接埠直接公開至網際網路。
- 關閉檢視器不代表關閉主機;長時間工作應交由 CI 或可恢復的工作階段執行。
透過 VNC 使用 macOS 圖形介面,透過 SSH 執行指令碼與 CI 工作。你連線的是一台獨享實體 Mac,不是虛擬機器;Xcode 除錯與自動化建置可各自使用合適的方式。
已啟用主機?請先準備主機位址、SSH 連接埠、使用者名稱與連線憑證。下文建議透過 SSH 通道連線 VNC。
同一台實體節點上的圖形介面與命令列
CONFIGURATION = Release
SDKROOT = iphoneos
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
ENABLE_TESTABILITY = NO
第一次設定工具鏈時,可以先透過螢幕共享確認圖形設定;流程穩定後,再讓 runner 透過命令列執行工作。兩種方式都會連線至同一台主機,無須為圖形操作另外建置一套環境。
適合開啟 Xcode、檢查模擬器、查看 Keychain 設定,以及排查需要滑鼠操作的步驟。你看到的是遠端主機畫面,編譯工作並不會因此改在本機執行。
適合安裝相依套件、執行 xcodebuild、整理記錄與註冊 CI runner。SSH 不會傳輸桌面畫面,日常指令碼工作不必同時保持 VNC 連線。
請勿混淆 VNC 桌面密碼、SSH 登入密碼與 SSH 私鑰密碼。若連線失敗,先確認憑證所屬的通訊協定,再調整用戶端設定。
建議先完成下文的 SSH 通道設定,再連線至本機轉送位址。如此一來,VNC 資料會透過加密通道傳輸,無須另外開放遠端桌面連接埠。
登入控制台,找到對應執行個體的連線資訊。記下主機位址、SSH 連接埠與使用者名稱;另行確認 VNC 憑證。若位址或連接埠與範例不同,請一律使用執行個體提供的實際資訊。
在本機終端機執行本頁的轉送指令。使用 -N 時,成功後沒有互動式命令提示字元是正常現象。請保持終端機開啟;若出現錯誤,先排除錯誤,不要繼續嘗試連線桌面。
在 Finder 中選擇「前往 → 連接伺服器」,或按 ⌘ K,輸入 vnc://127.0.0.1:15900。系統會開啟「螢幕共享」App,接著依提示輸入遠端 VNC 連線憑證。
先確認能操作 Finder、輸入文字並開啟 Xcode。需要操作時請選擇控制模式,而非僅供檢視的模式;若畫面超出本機視窗,先啟用縮放顯示,再依網路狀況調整畫質。
本機迴路位址只適用於執行通道的電腦。若要在另一台電腦開啟檢視器,必須在該電腦上另外建立通道,無法沿用前一台電腦的本機連線。
請使用支援 VNC 通訊協定的檢視器,例如 TigerVNC。Windows 可使用 OpenSSH 用戶端,Linux 可在終端機使用 ssh 建立通道;接著透過桌面檢視器連線至本機轉送連接埠。
在 PowerShell 或 Windows Terminal 中執行通道指令。若系統提示找不到 ssh,請先確認是否已安裝系統的 OpenSSH 用戶端功能。
在 VNC 檢視器的主機欄位填入 127.0.0.1,連接埠欄位填入 15900。部分用戶端會將單冒號後的數字視為顯示編號;若只有一個位址欄位,請依該用戶端的「明確指定連接埠」格式輸入。
在一個終端機中保持 SSH 通道執行,再啟動圖形 VNC 檢視器。若通道已中斷,檢視器無法連線至本機連接埠,並不代表遠端桌面密碼錯誤。
透過套件管理器安裝用戶端時,請選擇支援遠端驗證方式的版本。若遇到「不支援的安全類型」,請先確認相容性,不要直接停用驗證或降低伺服器安全設定。
| 設定項目 | 初始建議 | 何時調整 |
|---|---|---|
| 色彩深度 | 自動選擇;網路受限時可試用 16-bit | 檢查螢幕截圖、色彩或細小文字時,改用完整色彩;降低色彩深度不適合用於色彩驗收。 |
| 編碼與壓縮 | 保留自動編碼,使用自適應壓縮 | 拖曳視窗明顯卡頓時,可適度提高壓縮;文字模糊時,請降低有損壓縮。 |
| 桌面尺寸 | 先使用 1440 × 900 或 1600 × 900 | 確認互動操作穩定後再提高解析度,避免一開始就傳輸多個高解析度畫面區塊。 |
| 持續更新 | 使用自適應更新,關閉不必要的持續更新 | 只有在排查動態介面時才提高更新頻率;編輯程式碼不需要影片等級的畫面更新。 |
| 剪貼簿 | 按需啟用,進行敏感操作時關閉同步 | 複製憑證密碼或其他憑證前,先確認本機與遠端的同步方向。 |
以下位址僅供文件示範,無法直接連線。請將 192.0.2.10、macuser 和連接埠替換成控制台提供的實際連線資訊。範例假設遠端 VNC 服務正在主機的 5900 連接埠上監聽。
ssh -N -T -L 127.0.0.1:15900:127.0.0.1:5900 -o ExitOnForwardFailure=yes -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -p 22 macuser@192.0.2.10
-L 只會在本機迴路位址監聽;第一個連接埠是本機入口,最後一個連接埠則是遠端 VNC 服務的連接埠。-p 指定 SSH 連接埠,不是 VNC 連接埠。-N -T 代表只進行轉送,不開啟遠端互動式終端機。
首次連線時先確認 SSH 指紋。連線成功後,使用檢視器連線至本機連接埠;按 Ctrl C 即可關閉通道。若提示本機連接埠已被使用,可將 15900 改成其他未使用的連接埠,並同步修改檢視器位址。
連線逾時時,先檢查位址、SSH 連接埠與來源限制;驗證失敗時,先檢查使用者名稱與金鑰;若轉送目標拒絕連線,請確認遠端 VNC 服務及連接埠。不要遇到任何連線問題都只靠反覆修改密碼來處理。
為本機建立專用的 Ed25519 金鑰,並設定私鑰密碼。只將公開金鑰內容加入遠端使用者的 ~/.ssh/authorized_keys;私鑰請留在本機,不要上傳至主機、程式碼儲存庫或支援案件。
若已存在同名金鑰,請勿覆寫。可以改用新的檔名,並在連線時透過 -i 指定金鑰。公開金鑰檔案的副檔名為 .pub ,私鑰檔案則沒有這個副檔名。
ssh-keygen -t ed25519 -a 64 -f ~/.ssh/armrdp_ed25519
在 macOS 與 Linux 上,遠端使用者的 ~/.ssh 目錄通常設為 700,authorized_keys 設為 600。Windows 本機私鑰應透過檔案存取權限限制讀取,不要直接照搬 Unix 權限指令。
編譯在遠端執行,但桌面回應也會受到本機網路、跨網路路由、解析度與畫面變化量影響。不要以一次在 VNC 中拖曳視窗的感受評估主機編譯效能,也不要直接以地理距離推算延遲。
只保留一台顯示器,減少高解析度桌面、動態背景與多視窗動畫。調整遠端桌面尺寸,比單純縮小本機檢視器視窗更能減少待傳輸的畫面資料。
依序測試解析度、色彩深度與壓縮。使用相同操作進行比較,例如開啟同一個專案或拖曳同一個視窗;若同時變更多個設定,就難以判斷哪些設定真正有效。
暫停本機的大型檔案傳輸,並優先使用穩定的有線網路。可以比較 SSH 的互動回應與 VNC 畫面更新速度:若前者流暢、後者遲緩,先排查畫面設定,不要立刻更換機型。
| 節點 | 當地時區 | 選擇時優先考量 |
|---|---|---|
| 新加坡 | UTC+8 | 若團隊主要位於東南亞,可將此節點作為首次連線測試的選擇。 |
| 日本(東京) | UTC+9 | 若團隊主要位於日本或東亞,可比較本地網路連線至此節點的實際路徑。 |
| 韓國(首爾) | UTC+9 | 若團隊主要位於韓國或東北亞,請一併考量電信業者的路由。 |
| 香港 | UTC+8 | 若團隊主要位於華南或東南亞,可確認互動體驗與程式碼儲存庫的存取路徑。 |
| 美國西岸 | UTC−8 / UTC−7 | 若團隊主要位於北美西岸,可優先評估此節點;時區會隨當地日光節約時間調整。 |
若桌面僅供偶爾設定,選擇節點時也應考量程式碼儲存庫、相依套件快取與建置成品的上傳路徑。持續打包時,優先確保工具鏈與流程穩定;VNC 不必整晚保持連線。
遠端安全設定的調整順序很重要。先確認新方式可用,再撤銷舊方式;避免同時修改金鑰、來源位址與驗證政策,以免無法判斷問題出在哪裡。
保留目前的 SSH 工作階段,另開一個終端機,使用指定的私鑰建立新連線,並確認所需的管理權限。確認成功後,再調整 SSH 密碼驗證政策;修改前先檢查設定語法,並依目前系統的服務管理方式套用設定。
先確認本機對外的公用 IP 是否固定,再於適用的網路或主機存取規則中允許該位址。不要將家用網路的動態對外位址視為固定位址,也不要在不確定介面的情況下直接套用防火牆指令。
不同成員與自動化工作應使用不同的金鑰。成員離開、裝置遺失或金鑰可能外洩時,先部署並測試新的公開金鑰,再刪除舊金鑰;同時檢查 CI 中儲存的憑證與相關存取記錄。
可先按天租用,入門價格為 $21.1/天。先確認 SSH 與螢幕共享都能正常使用,再固定 Xcode 與相依套件版本,讓日常打包不必依賴本機電腦持續連線。