เรียกใช้เซิร์ฟเวอร์ VNC มาตรฐานบน Mac ของคุณ แล้วแชร์หน้าจอ คลิปบอร์ด ไฟล์ และแม้แต่ IME ด้วย QuickRemote — ทั้งหมดบนเครือข่ายภายในของคุณโดยไม่ผ่านคลาวด์
เริ่มต้นใช้งาน
1. ตั้งรหัสผ่าน
เปิดการตั้งค่า (ไอคอนเฟืองในแถบเครื่องมือด้านล่าง) แล้วกรอก รหัสผ่าน VNCไคลเอ็นต์ VNC มาตรฐานใช้การท้าทาย RFB DES ซึ่งรองรับเพียง 8 ไบต์แรกที่เข้ากันได้กับ ASCII — เลือกรหัสผ่านที่ยาวไม่เกิน 8 อักขระ
2. เริ่มเซิร์ฟเวอร์
- ในหน้าต่างหลัก ให้คลิก เริ่มตัวบ่งชี้สถานะจะเปลี่ยนเป็น กำลังทำงาน.
- ตัวรับฟังสี่รายการเริ่มทำงานพร้อมกัน: VNC
5900, การควบคุม QREX5911, สื่อ QREX4010และ File API8766. - คลิก คัดลอกข้อมูล เพื่อคัดลอกข้อความบรรทัดเดียวที่มีโฮสต์ พอร์ต และ PIN ปัจจุบันไปยังคลิปบอร์ด
3. เชื่อมต่อไคลเอ็นต์
สำหรับโปรแกรมดู VNC มาตรฐาน (macOS Screen Sharing, RealVNC, TightVNC, แอป VNC บนมือถือ):
- เปิดโปรแกรมดูแล้วป้อน
vnc://<your-mac-ip>:5900เป็นที่อยู่ - พิมพ์รหัสผ่าน VNC ที่คุณตั้งไว้ในขั้นตอนที่ 1
- ควบคุม Mac ได้ทันที — แป้นพิมพ์ เมาส์ คัดลอก/วางผ่าน RFB
สำหรับแอป QuickRemote:
- เปิด QuickRemote บนโทรศัพท์หรือแท็บเล็ต เลือก เพิ่ม Mac
- ป้อน PIN สำหรับจับคู่ 6 หลักที่แสดงโดย DeskVNCServer (หรือสแกน QR code หากบิลด์ QuickRemote ของคุณรองรับ)
- QuickRemote เก็บ Bearer token ที่ส่งกลับและปลดล็อกฟีเจอร์เพิ่มเติม — IME เสียง การซิงค์คลิปบอร์ด และการถ่ายโอนไฟล์
ภาพรวมของอินเทอร์เฟซ
แถวสถานะ
| องค์ประกอบ | คำอธิบาย |
|---|---|
| ป้ายชื่อเซิร์ฟเวอร์ | ระบุแผงนี้ |
| ป้ายสถานะ | กำลังทำงาน ขณะที่ตัวรับฟังทำงานอยู่ หยุดแล้ว หากไม่เช่นนั้น |
ปุ่มการทำงาน
- เริ่ม — เปิดตัวรับฟังทั้งสี่รายการ
- หยุด — ปิดตัวรับฟังทั้งหมดและตัดการเชื่อมต่อเซสชันที่ใช้งานอยู่
- คัดลอกข้อมูล — คัดลอกสรุปการเชื่อมต่อแบบสั้น (โฮสต์ พอร์ต VNC พอร์ตควบคุม PIN) ไปยังคลิปบอร์ดเพื่อแชร์ให้ไคลเอ็นต์ได้ง่าย
แผงการเชื่อมต่อ
แสดงโฮสต์ที่ผูก พอร์ต Server ID ปัจจุบัน และ PIN จับคู่ที่กำลังใช้งาน ข้อความจะรีเฟรชอัตโนมัติเมื่อการตั้งค่าเปลี่ยน
แผง API ของ QuickRemote
ข้อมูลอ้างอิงอย่างย่อสำหรับโปรโตคอลที่เซิร์ฟเวอร์รองรับ แสดงเวอร์ชัน RFB ที่รองรับ รูปแบบปลายทาง QREX และชุดคำสั่ง IME เพื่อให้ QuickRemote (หรือไคลเอ็นต์ของคุณเอง) ทราบสิ่งที่ใช้ได้
โปรโตคอลและพอร์ต
| บริการ | พอร์ตเริ่มต้น | โปรโตคอล | ใช้โดย |
|---|---|---|---|
| VNC / RFB | TCP 5900 | RFB 3.8 / 3.7 / 3.3 | ไคลเอ็นต์ VNC มาตรฐานใดก็ได้ |
| การควบคุม QREX | TCP 5911 | HTTP JSON RPC + WebSocket | QuickRemote และไคลเอ็นต์ QREX อื่น ๆ |
| สื่อ QREX | UDP 4010 | แพ็กเก็ตที่เข้ากันได้กับ QuickRemote | ข้อความ IME การสตรีมเสียง |
| File API | TCP 8766 | HTTP ที่เข้ากันได้กับ QuickRemote | เรียกดูและถ่ายโอนไฟล์ |
การยืนยันตัวตน
- ไคลเอ็นต์ VNC — รหัสผ่าน RFB DES (8 ไบต์แรกที่เข้ากันได้กับ ASCII ของรหัสผ่านที่กำหนดค่าไว้)
- ไคลเอ็นต์ QREX — การแลกเปลี่ยน PIN 6 หลักเริ่มต้นที่
POST /qr/v1/pairส่งกลับ Bearer token ทุกการเรียก QREX HTTP และเฟรม WebSocket หลังจากนั้นต้องมีAuthorization: Bearer <token>. - หากรหัสผ่าน VNC ว่าง เซิร์ฟเวอร์จะประกาศโหมดไม่ยืนยันตัวตน RFB มาตรฐาน เหมาะสำหรับส่วน 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
การตั้งค่า
| การตั้งค่า | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
| โฮสต์ที่ผูก | 0.0.0.0 | อินเทอร์เฟซที่จะรับฟัง ตั้งค่าเป็น 127.0.0.1 สำหรับ localhost เท่านั้น |
| พอร์ต VNC | 5900 | พอร์ต TCP สำหรับตัวรับฟัง RFB มาตรฐาน |
| พอร์ตควบคุม QREX | 5911 | พอร์ต TCP สำหรับการรับส่ง QREX ผ่าน HTTP + WebSocket |
| พอร์ต UDP สื่อ QREX | 4010 | พอร์ต UDP สำหรับแพ็กเก็ตช่องทางเสริมของ IME และเสียง |
| พอร์ต File API ของ QuickRemote | 8766 | พอร์ต TCP สำหรับ API การเรียกดูและถ่ายโอนไฟล์ |
| รหัสผ่าน VNC | (ว่าง) | สูงสุด 8 ไบต์ที่เข้ากันได้กับ ASCII ว่างหมายถึงไม่มีการยืนยันตัวตนในช่อง VNC |
| โทเค็นผู้ถือ QREX | (สร้างแล้ว) | โทเค็นที่ใช้งานซึ่งออกระหว่างการจับคู่ สร้างใหม่ได้ด้วยการจับคู่ใหม่หรือแก้ไขช่องนี้ |
| PIN จับคู่ | (สร้างแล้ว) | PIN 6 หลักที่แสดงให้ QuickRemote ระหว่างการจับคู่ จะหมุนเปลี่ยนเมื่อคุณสร้างใหม่ |
| Server ID ถาวร | (สร้างแล้ว) | ตัวระบุระยะยาวที่ QuickRemote ใช้จดจำ Mac เครื่องนี้ |
| เริ่มเซิร์ฟเวอร์โดยอัตโนมัติ | ปิด | เปิดตัวรับฟังเมื่อเปิดแอป |
| อนุญาตแป้นพิมพ์และเมาส์ระยะไกล | เปิด | ปิดเพื่อทำให้เซสชันดูได้อย่างเดียว |
| เปิดใช้สะพาน IME | เปิด | อนุญาตให้ไคลเอ็นต์ QREX สอบถามและควบคุมวิธีป้อนข้อมูลของ macOS |
| เปิดใช้ API เสียง | ปิด | อนุญาตการสตรีมเสียง Opus ผ่าน UDP สื่อ QREX ปิดเป็นค่าเริ่มต้นเพื่อประหยัด CPU |
| เปิดใช้การซิงค์คลิปบอร์ด | เปิด | สะท้อนเนื้อหาคลิปบอร์ดระหว่าง Mac และไคลเอ็นต์ระยะไกล |
| เปิดใช้การถ่ายโอนไฟล์ | เปิด | อนุญาตให้ QuickRemote แสดงรายการและอ่านไฟล์ อ่านอย่างเดียวเว้นแต่จะเปิดใช้การเปลี่ยนแปลงด้วย |
| เปิดใช้การเปลี่ยนแปลงไฟล์ | ปิด | อนุญาตการอัปโหลด เปลี่ยนชื่อ และลบ ปิดเป็นค่าเริ่มต้น — เปิดเฉพาะสำหรับไคลเอ็นต์ที่เชื่อถือได้ |
| ความกว้างเฟรมสูงสุด | 1440 | จำกัดความกว้างของการจับภาพหน้าจอ ค่าที่ต่ำกว่าจะลดแบนด์วิดท์ |
| ความสูงเฟรมสูงสุด | 900 | จำกัดความสูงของการจับภาพหน้าจอ |
| อัตราเฟรม | 12 | จำนวนเฟรมต่อวินาทีเป้าหมายที่ส่งให้ไคลเอ็นต์ |
ตัวอย่างฝั่งไคลเอ็นต์
macOS Screen Sharing
- Finder → Go → Connect to Server
- พิมพ์
vnc://<your-mac-ip>:5900 - ป้อนรหัสผ่าน VNC
cURL — ค้นหาความสามารถ
curl http://<your-mac-ip>:5911/qr/v1/capabilities
cURL — จับคู่และเรียกใช้สะพาน IME
# 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 token จะคงอยู่แม้รีบูต ดังนั้น QuickRemote จะเชื่อมต่อใหม่อย่างเงียบ ๆ
- ใช้ คัดลอกข้อมูล เป็นวิธีรวดเร็วในการส่งรายละเอียดการเชื่อมต่อผ่านแชตหรืออีเมล — มีทุกสิ่งที่ไคลเอ็นต์ต้องใช้
- เก็บ เปิดใช้การเปลี่ยนแปลงไฟล์ ไว้เป็นปิด เว้นแต่คุณจำเป็นต้องอัปโหลดจริง ๆ โหมดอ่านอย่างเดียวเพียงพอสำหรับการเรียกดูภาพหน้าจอ โน้ต หรือไฟล์ดาวน์โหลด
- ปิดใช้งาน audio API เมื่อไม่ได้ใช้ codec ที่ไม่ได้ใช้งานยังใช้ 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 จับคู่ไม่ได้
- ยืนยันว่าโทรศัพท์หรือแท็บเล็ตอยู่ใน Wi-Fi เดียวกับ Mac
- เปิดแผงการเชื่อมต่อแล้วอ่าน PIN อีกครั้ง สามารถสร้าง PIN ใหม่ได้จาก Settings
- ตรวจสอบการตั้งค่าไฟร์วอลล์ macOS — ต้องอนุญาตการเชื่อมต่อขาเข้าบนพอร์ต QREX
การควบคุมระยะไกลตอบสนองช้า
- ลดอัตราเฟรมและขนาดเฟรมสูงสุดใน Settings
- ปิดใช้งานคุณลักษณะที่ไม่ได้ใช้ (audio, clipboard, IME) เพื่อคืนทรัพยากร CPU
ไม่สามารถโอนไฟล์ได้
- ยืนยันว่า เปิดใช้การถ่ายโอนไฟล์ เปิดอยู่ รายการแบบอ่านอย่างเดียวทำงานได้โดยไม่ต้องมี เปิดใช้การเปลี่ยนแปลงไฟล์.
- หากอัปโหลดไม่สำเร็จ ให้เปิดใช้งาน เปิดใช้การเปลี่ยนแปลงไฟล์ด้วย มิฉะนั้น file API จะตอบสนองเฉพาะคำขออ่าน
ความเป็นส่วนตัว
- ทุกเซสชันทำงานโดยตรงระหว่างไคลเอ็นต์และ Mac ของคุณ ไม่มี cloud relay, telemetry หรือ analytics
- รหัสผ่าน VNC, QREX Bearer token, PIN สำหรับจับคู่ และ Server ID แบบคงที่ จะถูกเก็บไว้เฉพาะในการตั้งค่าแอปภายในเครื่อง
- การแก้ไขไฟล์ถูกปิดไว้โดยค่าเริ่มต้น ไคลเอ็นต์ระยะไกลจะอ่านได้เท่านั้นจนกว่าคุณจะอนุญาตสิทธิ์เขียนอย่างชัดเจน
- ปิดใช้งานส่วนขยายใดก็ได้ (audio, clipboard, file transfer, IME, remote input) ได้ทุกเมื่อเพื่อเพิกถอนความสามารถนั้นทันที
- หากต้องการให้เซิร์ฟเวอร์อยู่ภายใน Mac ของคุณ ให้ตั้ง bind host เป็น
127.0.0.1.