DeskVNCServer - מדריך

הריצו שרת VNC סטנדרטי על ה-Mac שלכם ושתפו מסך, לוח גזירה, קבצים ואפילו IME עם QuickRemote — והכל ברשת המקומית, ללא ממסר ענן.


תחילת העבודה

1. הגדרת סיסמה

פתחו את ההגדרות (סמל הגלגל בסרגל הכלים התחתון) ומלאו את VNC password. לקוחות VNC סטנדרטיים משתמשים באתגר RFB DES, שמכבד רק את 8 הבייטים הראשונים התואמים ל-ASCII — בחרו סיסמה שלא ארוכה מ-8 תווים.

על סיסמאות קצרות: זוהי מגבלה של פרוטוקול RFB עצמו, לא של DeskVNCServer. אם אתם צריכים אימות חזק יותר, הגבילו את השרת לרשת פרטית או השתמשו בזרימת QREX (אסימון Bearer לאחר התאמת PIN) והשביתו את סיסמת ה-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. הקלידו את VNC password שהגדרתם בשלב 1
  3. שלטו במק שלכם מיד — מקלדת, עכבר, העתק/הדבק דרך RFB

עבור היישום QuickRemote:

  1. פתחו את QuickRemote בטלפון או בטאבלט, ובחרו Add Mac
  2. הזינו את ה-PIN בן 6 הספרות להתאמה ש-DeskVNCServer מציג (או סרקו את קוד ה-QR אם גרסת ה-QuickRemote שלכם תומכת בכך)
  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 4010חבילות תואמות QuickRemoteהודעות IME, שידור אודיו
File APITCP 8766HTTP תואם 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 host0.0.0.0הממשק להאזנה. הגדירו ל-127.0.0.1 עבור localhost בלבד.
VNC port5900פורט TCP עבור מאזין ה-RFB הסטנדרטי.
QREX control port5911פורט TCP עבור תעבורת HTTP + WebSocket של QREX.
QREX media UDP port4010פורט UDP עבור חבילות ערוץ צד של IME ואודיו.
QuickRemote file API port8766פורט TCP עבור API לעיון ולהעברת קבצים.
VNC password(ריק)עד 8 בייטים תואמי ASCII. ריק פירושו no-auth בערוץ ה-VNC.
QREX bearer token(נוצר)אסימון פעיל שהונפק בעת ההתאמה. צרו אותו מחדש על-ידי התאמה חוזרת או עריכת השדה הזה.
Pairing PIN(נוצר)PIN בן 6 ספרות המוצג ל-QuickRemote בעת ההתאמה. מתחלף בעת יצירה מחדש.
Stable server ID(נוצר)מזהה ארוך טווח ש-QuickRemote משתמש בו כדי לזהות את ה-Mac הזה.
Start server automaticallyOffהפעלת המאזינים בעת השקת היישום.
Allow remote keyboard and mouseOnכיבוי הופך את ההפעלות לצפייה בלבד.
Enable IME bridgeOnאפשרו ללקוחות QREX לתשאל ולשלוט בשיטת הקלט של macOS.
Enable audio APIOffאפשרו שידור אודיו Opus על-גבי QREX media UDP. כבוי כברירת מחדל לחיסכון ב-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 → Go → Connect to Server
  2. הקלידו vnc://<your-mac-ip>:5900
  3. הזינו את VNC password

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 שורד הפעלה מחדש, כך ש-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.
  • אם אתם רוצים בכוונה ללא סיסמה, השאירו את השדה ריק והתחברו עם מציג שתומך ב-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, אסימון QREX Bearer, PIN ההתאמה ו-Stable Server ID נשמרים רק בהגדרות היישום המקומיות.
  • מוטציות קבצים כבויות כברירת מחדל. לקוחות מרוחקים יכולים רק לקרוא עד שתעניקו במפורש גישת כתיבה.
  • השביתו כל הרחבה (אודיו, לוח גזירה, העברת קבצים, IME, קלט מרוחק) בכל עת כדי לבטל מיד את היכולת הזו.
  • אם ברצונכם להשאיר את השרת מקומי ל-Mac שלכם, הגדירו את מארח הקישור ל-127.0.0.1.