# RustDesk 安裝指南 (本地部署) ## 概述 本文檔說明如何在 macOS 上安裝 RustDesk 遠端桌面服務,配置為本地部署。 --- ## 當前狀態 | 項目 | 狀態 | |------|------| | RustDesk | ✅ 已安裝 | | 數據目錄 | /Users/accusys/momentry/var/rustdesk/ | | 日誌目錄 | /Users/accusys/momentry/log/ | | HBBS Plist | /Library/LaunchDaemons/com.momentry.rustdesk.hbbs.plist | | HBBR Plist | /Library/LaunchDaemons/com.momentry.rustdesk.hbbr.plist | --- ## 服務端口 | 服務 | Port | 協議 | |------|------|------| | hbbs (TCP) | 21115 | 主端口 | | hbbs (TCP/UDP) | 21116 | NAT 測試 | | hbbs (WebSocket) | 21118 | WebSocket | | hbbr (TCP) | 21117 | 中繼端口 | | hbbr (TCP) | 21119 | 中繼 extra | --- ## 安裝步驟 ### Step 1: 安裝 RustDesk (使用 brew) ```bash # 安裝 RustDesk brew install rustdesk ``` **驗證**: ```bash hbbs --version hbbr --version ``` --- ### Step 2: 建立目錄 ```bash # 建立數據目錄 mkdir -p /Users/accusys/momentry/var/rustdesk # 建立配置目錄 mkdir -p /Users/accusys/momentry/etc/rustdesk # 建立日誌目錄 mkdir -p /Users/accusys/momentry/log # 建立日誌文件 touch /Users/accusys/momentry/log/rustdesk.hbbs.log touch /Users/accusys/momentry/log/rustdesk.hbbs.error.log touch /Users/accusys/momentry/log/rustdesk.hbbr.log touch /Users/accusys/momentry/log/rustdesk.hbbr.error.log # 設定權限 chown -R accusys:staff /Users/accusys/momentry/var/rustdesk chown -R accusys:staff /Users/accusys/momentry/etc/rustdesk chown -R accusys:staff /Users/accusys/momentry/log ``` --- ### Step 3: 使用 plist 開機自動啟動 ```bash # 複製 plist 到 LaunchDaemons 目錄 sudo cp /Users/accusys/momentry_core_0.1/momentry_runtime/plist/com.momentry.rustdesk.hbbs.plist /Library/LaunchDaemons/ sudo cp /Users/accusys/momentry_core_0.1/momentry_runtime/plist/com.momentry.rustdesk.hbbr.plist /Library/LaunchDaemons/ # 移除舊 plist (如果存在) sudo launchctl unload /Library/LaunchDaemons/com.rustdesk.hbbs.plist 2>/dev/null sudo launchctl unload /Library/LaunchDaemons/com.rustdesk.hbbr.plist 2>/dev/null sudo rm /Library/LaunchDaemons/com.rustdesk.hbbs.plist 2>/dev/null sudo rm /Library/LaunchDaemons/com.rustdesk.hbbr.plist 2>/dev/null # 載入並啟動 sudo launchctl load /Library/LaunchDaemons/com.momentry.rustdesk.hbbs.plist sudo launchctl load /Library/LaunchDaemons/com.momentry.rustdesk.hbbr.plist ``` --- ## 監控配置 ### 添加到監控配置 在 `monitor/config/monitor_config.yaml` 中添加: ```yaml service: services: - name: "rustdesk-hbbs" type: "tcp" port: 21115 host: "localhost" timeout: 5 enabled: true - name: "rustdesk-hbbr" type: "tcp" port: 21117 host: "localhost" timeout: 5 enabled: true ``` --- ## 卸載步驟 ### 重要: 路徑說明 | 路徑 | 類型 | 說明 | |------|------|------| | `/Users/accusys/momentry/var/rustdesk/` | 數據 | **不要刪除** - RustDesk 數據 | | `/Users/accusys/momentry/log/` | 日誌 | **不要刪除** - 日誌目錄 | | `/opt/homebrew/bin/hbbr` | 安裝 | **刪除** - RustDesk 安裝 | | `/opt/homebrew/bin/hbbs` | 安裝 | **刪除** - RustDesk 安裝 | ### Step 1: 停止 RustDesk ```bash # 停止 RustDesk 服務 sudo launchctl unload /Library/LaunchDaemons/com.momentry.rustdesk.hbbs.plist sudo launchctl unload /Library/LaunchDaemons/com.momentry.rustdesk.hbbr.plist # 確認停止 ps aux | grep rustdesk | grep -v grep || echo "RustDesk 已停止" ``` --- ### Step 2: 卸載 RustDesk ```bash # 卸載 RustDesk brew uninstall rustdesk # 移除 plist sudo rm /Library/LaunchDaemons/com.momentry.rustdesk.hbbs.plist sudo rm /Library/LaunchDaemons/com.momentry.rustdesk.hbbr.plist ``` --- ### Step 3: 刪除專屬檔案 ```bash # 刪除數據目錄 (可選) rm -rf /Users/accusys/momentry/var/rustdesk # 刪除日誌 (可選) rm -f /Users/accusys/momentry/log/rustdesk-*.log ``` **注意: 不要刪除以下共用目錄**: ```bash # 這些是共用的,不要刪除! # /Users/accusys/momentry/var # /Users/accusys/momentry/log ``` --- ## 手動檢查命令 ```bash # 1. 檢查進程 ps aux | grep rustdesk | grep -v grep # 2. 檢查 Port lsof -i :21115 lsof -i :21116 lsof -i :21117 lsof -i :21118 lsof -i :21119 # 3. 測試連線 nc -zv localhost 21115 nc -zv localhost 21116 # 4. 查看日誌 tail -20 /Users/accusys/momentry/log/rustdesk-hbbs.log tail -20 /Users/accusys/momentry/log/rustdesk-hbbr.log ``` --- ## 連線資訊 | 項目 | 值 | |------|-----| | Server ID | 59.124.167.225 | | NAT Test Port | 21116 | | Relay Port | 21117, 21119 | --- ## 故障排除 ### RustDesk 無法啟動 ```bash # 檢查日誌 tail -f /Users/accusys/momentry/log/rustdesk-hbbs.log tail -f /Users/accusys/momentry/log/rustdesk-hbbr.log # 檢查數據目錄權限 ls -la /Users/accusys/momentry/var/rustdesk/ # 重新設定權限 chown -R $(whoami):staff /Users/accusys/momentry/var/rustdesk ``` ### Port 被佔用 ```bash # 檢查哪個程序佔用 port lsof -i :21116 # 終止佔用程序 kill ``` ### 需要重新載入 plist ```bash # 卸載舊服務 sudo launchctl unload /Library/LaunchDaemons/com.momentry.rustdesk.hbbs.plist sudo launchctl unload /Library/LaunchDaemons/com.momentry.rustdesk.hbbr.plist # 載入新服務 sudo launchctl load /Library/LaunchDaemons/com.momentry.rustdesk.hbbs.plist sudo launchctl load /Library/LaunchDaemons/com.momentry.rustdesk.hbbr.plist ``` --- ## 檔案位置 | 類型 | 路徑 | 說明 | |------|------|------| | 安裝 | `/opt/homebrew/bin/hbbs` | RustDesk Server 執行檔 | | 安裝 | `/opt/homebrew/bin/hbbr` | RustDesk Relay 執行檔 | | 數據目錄 | `/Users/accusys/momentry/var/rustdesk/` | 數據儲存 | | HBBS 日誌 | `/Users/accusys/momentry/log/rustdesk-hbbs.log` | 服務日誌 | | HBBR 日誌 | `/Users/accusys/momentry/log/rustdesk-hbbr.log` | 中繼日誌 | | HBBS Plist | `/Library/LaunchDaemons/com.momentry.rustdesk.hbbs.plist` | 開機啟動 | | HBBR Plist | `/Library/LaunchDaemons/com.momentry.rustdesk.hbbr.plist` | 開機啟動 | --- ## 版本資訊 - 安裝方式: Homebrew (Cask) - Client 版本: 1.4.6 - Server 版本: 1.1.15 (hbbs/hbbr binaries from homebrew) - 數據目錄: /Users/accusys/momentry/var/rustdesk/ - 日誌目錄: /Users/accusys/momentry/log/ --- ## 注意事項 ### Server 版本 Homebrew 的 RustDesk Cask 只提供客戶端應用程序。服務器二進制文件 (hbbs, hbbr) 需要從其他來源安裝或自行編譯。當前使用的版本較舊 (1.1.15)。 如需更新服務器版本,可以考慮: 1. 從源代碼編譯最新版本 2. 使用 RustDesk 官方提供的 Docker 鏡像 3. 等待 Homebrew 添加服務器公式