รันเซิร์ฟเวอร์ VNC มาตรฐานบน Mac ของคุณ และแชร์หน้าจอ คลิปบอร์ด ไฟล์ และแม้กระทั่ง IME ด้วย QuickRemote — ทั้งหมดบนเครือข่ายท้องถิ่นของคุณ โดยไม่ต้องใช้ตัวรีเลย์คลาวด์
เริ่มต้นใช้งาน
1. ตั้งรหัสผ่าน
เปิดการตั้งค่า (ไอคอนเฟืองที่แถบเครื่องมือด้านล่าง) แล้วกรอก VNC password ไคลเอนต์ VNC มาตรฐานใช้การท้าทาย RFB DES ซึ่งยอมรับเฉพาะ 8 ไบต์แรกที่เข้ากันได้กับ ASCII — เลือกรหัสผ่านที่ไม่เกิน 8 ตัวอักษร
2. เริ่มเซิร์ฟเวอร์
- ที่หน้าต่างหลัก คลิก Start ตัวบ่งชี้สถานะจะเปลี่ยนเป็น Running
- ผู้รับฟังสี่ตัวจะถูกเปิดพร้อมกัน: VNC
5900, QREX control5911, QREX media4010, และ File API8766 - คลิก Copy Info เพื่อคัดลอกข้อมูลหนึ่งบรรทัดที่มีโฮสต์ พอร์ต และ PIN ปัจจุบันไปยังคลิปบอร์ดของคุณ
3. เชื่อมต่อไคลเอนต์
สำหรับโปรแกรมดู VNC มาตรฐาน (macOS Screen Sharing, RealVNC, TightVNC, แอป VNC บนมือถือ):
- เปิดโปรแกรมดูแล้วป้อน
vnc://<your-mac-ip>:5900เป็นที่อยู่ - พิมพ์ VNC password ที่คุณตั้งไว้ในขั้นตอนที่ 1
- ควบคุม Mac ของคุณได้ทันที — คีย์บอร์ด เมาส์ คัดลอก/วางผ่าน RFB
สำหรับแอป QuickRemote:
- เปิด QuickRemote บนโทรศัพท์หรือแท็บเล็ต เลือก Add Mac
- ป้อน PIN จับคู่ 6 หลักที่ DeskVNCServer แสดง (หรือสแกน QR code หากบิลด์ QuickRemote ของคุณรองรับ)
- QuickRemote จะจัดเก็บโทเค็น Bearer ที่ส่งกลับมาและปลดล็อกคุณสมบัติเพิ่มเติม — IME เสียง การซิงค์คลิปบอร์ด และการถ่ายโอนไฟล์
ภาพรวมอินเทอร์เฟซ
แถวสถานะ
| องค์ประกอบ | คำอธิบาย |
|---|---|
| ป้ายชื่อเซิร์ฟเวอร์ | ระบุแผงนี้ |
| ป้ายสถานะ | Running ขณะที่ผู้รับฟังทำงานอยู่, Stopped ในกรณีอื่น |
ปุ่มดำเนินการ
- Start — เปิดผู้รับฟังทั้งสี่ตัว
- Stop — ปิดผู้รับฟังทุกตัวและตัดการเชื่อมต่อเซสชันที่ใช้งานอยู่
- Copy Info — คัดลอกสรุปการเชื่อมต่อสั้น ๆ (โฮสต์ พอร์ต VNC พอร์ตควบคุม PIN) ไปยังคลิปบอร์ดเพื่อแชร์กับไคลเอนต์ได้ง่าย
แผงการเชื่อมต่อ
แสดงโฮสต์ที่ผูก พอร์ต Server ID ปัจจุบัน และ PIN การจับคู่ที่ใช้งานอยู่ ข้อความจะรีเฟรชอัตโนมัติเมื่อการตั้งค่าเปลี่ยนแปลง
แผง QuickRemote API
การอ้างอิงด่วนสำหรับโปรโตคอลที่เซิร์ฟเวอร์ใช้ แสดงเวอร์ชัน RFB ที่รองรับ รูปแบบเอนด์พอยต์ QREX และชุดคำสั่ง IME เพื่อให้ QuickRemote (หรือไคลเอนต์ของคุณเอง) ทราบว่ามีอะไรพร้อมใช้งาน
โปรโตคอลและพอร์ต
| บริการ | พอร์ตเริ่มต้น | โปรโตคอล | ผู้ใช้ |
|---|---|---|---|
| VNC / RFB | TCP 5900 | RFB 3.8 / 3.7 / 3.3 | ไคลเอนต์ VNC มาตรฐานใด ๆ |
| QREX control | TCP 5911 | HTTP JSON RPC + WebSocket | QuickRemote และไคลเอนต์ QREX อื่น ๆ |
| QREX media | UDP 4010 | แพ็กเก็ตที่เข้ากันได้กับ QuickRemote | ข้อความ IME, การสตรีมเสียง |
| File API | TCP 8766 | HTTP ที่เข้ากันได้กับ QuickRemote | การเรียกดูและถ่ายโอนไฟล์ |
การตรวจสอบสิทธิ์
- ไคลเอนต์ VNC — รหัสผ่าน RFB DES (8 ไบต์แรกที่เข้ากันได้กับ ASCII ของรหัสผ่านที่กำหนดค่าไว้)
- ไคลเอนต์ QREX — การแลกเปลี่ยน PIN เริ่มต้น 6 หลักที่
POST /qr/v1/pairจะส่งคืนโทเค็น Bearer การเรียก HTTP QREX และเฟรม 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 host | 0.0.0.0 | อินเทอร์เฟซที่จะรับฟัง ตั้งค่าเป็น 127.0.0.1 สำหรับ localhost เท่านั้น |
| VNC port | 5900 | พอร์ต TCP สำหรับผู้รับฟัง RFB มาตรฐาน |
| QREX control port | 5911 | พอร์ต TCP สำหรับการรับส่งข้อมูล HTTP + WebSocket QREX |
| QREX media UDP port | 4010 | พอร์ต UDP สำหรับแพ็กเก็ตช่องด้านข้างของ IME และเสียง |
| QuickRemote file API port | 8766 | พอร์ต TCP สำหรับ API การเรียกดูและถ่ายโอนไฟล์ |
| VNC password | (ว่าง) | สูงสุด 8 ไบต์ที่เข้ากันได้กับ ASCII ค่าว่างหมายถึง no-auth บนช่อง VNC |
| QREX bearer token | (สร้างแล้ว) | โทเค็นที่ใช้งานอยู่ซึ่งออกในการจับคู่ สร้างใหม่โดยจับคู่ใหม่หรือแก้ไขฟิลด์นี้ |
| Pairing PIN | (สร้างแล้ว) | PIN 6 หลักที่แสดงให้ QuickRemote เห็นในระหว่างการจับคู่ เปลี่ยนแปลงเมื่อคุณสร้างใหม่ |
| Stable server ID | (สร้างแล้ว) | ตัวระบุระยะยาวที่ QuickRemote ใช้เพื่อจดจำ Mac เครื่องนี้ |
| Start server automatically | Off | เปิดผู้รับฟังเมื่อเปิดแอป |
| Allow remote keyboard and mouse | On | ปิดเพื่อให้เซสชันเป็นแบบดูอย่างเดียว |
| Enable IME bridge | On | อนุญาตให้ไคลเอนต์ QREX สอบถามและควบคุมวิธีป้อนข้อมูลของ macOS |
| Enable audio API | Off | อนุญาตการสตรีมเสียง Opus ผ่าน QREX media UDP ปิดเป็นค่าเริ่มต้นเพื่อประหยัด CPU |
| Enable clipboard sync | On | สะท้อนเนื้อหาคลิปบอร์ดระหว่าง Mac และไคลเอนต์ระยะไกล |
| Enable file transfer | On | อนุญาตให้ QuickRemote แสดงรายการและอ่านไฟล์ อ่านอย่างเดียวเว้นแต่จะเปิดใช้งานการเปลี่ยนแปลงด้วย |
| Enable file mutations | Off | อนุญาตการอัปโหลด เปลี่ยนชื่อ และลบ ปิดเป็นค่าเริ่มต้น — เปิดเฉพาะสำหรับไคลเอนต์ที่เชื่อถือได้เท่านั้น |
| Max frame width | 1440 | เพดานความกว้างการจับภาพหน้าจอ ค่าที่ต่ำกว่าจะลดแบนด์วิดท์ |
| Max frame height | 900 | เพดานความสูงการจับภาพหน้าจอ |
| Frame rate | 12 | จำนวนเฟรมต่อวินาทีเป้าหมายที่ส่งไปยังไคลเอนต์ |
ตัวอย่างไคลเอนต์
macOS Screen Sharing
- Finder → Go → Connect to Server
- พิมพ์
vnc://<your-mac-ip>:5900 - ป้อน 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 ไว้ที่ปิดเว้นแต่คุณต้องการการอัปโหลดจริง ๆ โหมดอ่านอย่างเดียวเพียงพอสำหรับการเรียกดูภาพหน้าจอ บันทึก หรือดาวน์โหลด
- ปิดใช้งาน Audio API เมื่อคุณไม่ได้ใช้งาน โคเดกที่ไม่ได้ใช้งานยังคงใช้ CPU เล็กน้อยในเส้นทางเข้ารหัส
การแก้ไขปัญหา
เซิร์ฟเวอร์ไม่เริ่ม
- เซิร์ฟเวอร์ VNC อื่น (เช่น macOS Screen Sharing) อาจอยู่บนพอร์ต 5900 แล้ว หยุดมันจาก System Settings → General → Sharing หรือเปลี่ยนพอร์ตในการตั้งค่าของ DeskVNCServer
- พอร์ต 5911 / 4010 / 8766 ต้องว่างทั้งหมด ตรวจสอบด้วย
lsof -i :5911และคำสั่งที่คล้ายกัน
ไคลเอนต์ VNC ตรวจสอบสิทธิ์ไม่ผ่าน
- ตรวจสอบให้แน่ใจว่ารหัสผ่านมีไม่เกิน 8 ไบต์ที่เข้ากันได้กับ ASCII อักขระหลายไบต์หรือสตริงที่ยาวกว่าจะถูกตัดอย่างเงียบ ๆ โดย RFB DES auth
- หากคุณต้องการให้ไม่มีรหัสผ่านโดยตั้งใจ ให้เว้นฟิลด์ว่างไว้และเชื่อมต่อด้วยโปรแกรมดูที่รองรับ VNC no-auth
QuickRemote ไม่สามารถจับคู่ได้
- ยืนยันว่าโทรศัพท์หรือแท็บเล็ตอยู่บน Wi-Fi เดียวกับ Mac
- เปิดแผงการเชื่อมต่อและอ่าน 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