DeskVNCServer - الدليل

شغّل خادم VNC قياسياً على جهاز Mac وشارك الشاشة والحافظة والملفات وحتى IME باستخدام QuickRemote — وكل ذلك على شبكتك المحلية، من دون ترحيل سحابي.


البدء

1. عيّن كلمة مرور

افتح الإعدادات (أيقونة الترس في شريط الأدوات السفلي) واملأ كلمة مرور VNC. يستخدم عملاء VNC القياسيون اختبار RFB DES، الذي لا يدعم سوى أول 8 بايتات متوافقة مع ASCII — اختر كلمة مرور لا تزيد على 8 أحرف.

حول كلمات المرور القصيرة: هذا قيد في بروتوكول RFB نفسه، وليس في DeskVNCServer. إذا كنت تحتاج إلى مصادقة أقوى، فقيّد الخادم بشبكة خاصة أو استخدم تدفق QREX (Bearer token بعد الاقتران عبر PIN) وعطّل كلمة مرور VNC.

2. ابدأ الخادم

  1. في النافذة الرئيسية، انقر على بدء. سيتحول مؤشر الحالة إلى قيد التشغيل.
  2. تعمل أربعة مستمعات في الوقت نفسه: VNC 5900، وتحكم QREX 5911، ووسائط QREX 4010، وواجهة API للملفات 8766.
  3. انقر نسخ المعلومات لنسخ سطر واحد يتضمن المضيف والمنافذ وPIN الحالي إلى الحافظة.

3. صِل عميلاً

بالنسبة إلى عارض VNC قياسي (مشاركة الشاشة في macOS، RealVNC، TightVNC، تطبيقات VNC المحمولة):

  1. افتح العارض وأدخل vnc://<your-mac-ip>:5900 كعنوان
  2. اكتب كلمة مرور VNC التي عيّنتها في الخطوة 1
  3. تحكم في جهاز Mac فوراً — لوحة المفاتيح والماوس والنسخ/اللصق عبر RFB

بالنسبة إلى تطبيق QuickRemote:

  1. افتح QuickRemote على الهاتف أو الجهاز اللوحي، واختر إضافة Mac
  2. أدخل PIN الاقتران المكوّن من 6 أرقام والمعروض في DeskVNCServer (أو امسح رمز QR إذا كان إصدار QuickRemote لديك يدعمه)
  3. يخزن QuickRemote رمز Bearer المميز المُعاد ويفتح الميزات الموسعة — IME والصوت ومزامنة الحافظة ونقل الملفات

نظرة عامة على الواجهة

صف الحالة

العنصرالوصف
تسمية الخادمتعرّف هذه اللوحة.
شارة الحالةقيد التشغيل أثناء نشاط المستمعات، متوقف في غير ذلك.

أزرار الإجراءات

  • بدء — شغّل المستمعات الأربعة جميعاً.
  • إيقاف — أغلق كل المستمعات واقطع الجلسات النشطة.
  • نسخ المعلومات — انسخ ملخص اتصال قصيراً (المضيف ومنفذ VNC ومنفذ التحكم وPIN) إلى الحافظة لمشاركته بسهولة مع عميل.

لوحة الاتصال

تعرض مضيف الربط والمنافذ ومعرّف الخادم الحالي وPIN الاقتران النشط. يُحدَّث النص تلقائياً عند تغيير الإعدادات.

لوحة API لـ QuickRemote

مرجع سريع للبروتوكولات التي يدعمها الخادم. يسرد إصدارات RFB المدعومة وأشكال نقاط نهاية QREX ومجموعة أوامر IME ليعرف QuickRemote (أو عميلك الخاص) ما هو متاح.


البروتوكولات والمنافذ

الخدمةالمنفذ الافتراضيالبروتوكوليُستخدم بواسطة
VNC / RFBTCP 5900RFB 3.8 / 3.7 / 3.3أي عميل VNC قياسي
تحكم QREXTCP 5911HTTP JSON RPC + WebSocketQuickRemote وعملاء QREX الآخرون
وسائط QREXUDP 4010حزم متوافقة مع QuickRemoteرسائل IME وبث الصوت
واجهة API للملفاتTCP 8766HTTP متوافق مع QuickRemoteاستعراض الملفات ونقلها

المصادقة

  • عملاء VNC — كلمة مرور RFB DES (أول 8 بايتات متوافقة مع ASCII من كلمة المرور المُعَدّة).
  • عملاء QREX — تبادل PIN أولي مكوّن من 6 أرقام عند POST /qr/v1/pair يعيد رمز Bearer مميزاً. يجب أن يتضمن كل استدعاء QREX HTTP وإطار WebSocket لاحق Authorization: Bearer <token>.
  • إذا كانت كلمة مرور VNC فارغة، يعلن الخادم وضع RFB القياسي بلا مصادقة. مفيد فقط لمقاطع LAN الموثوقة.

مرجع سريع لنقاط نهاية QREX

GET  /qr/v1/capabilities    # عام، يعيد الميزات المدعومة
POST /qr/v1/pair            # عام، استبدال PIN برمز Bearer مميز
GET  /qr/v1/ws              # WebSocket، المصادقة مطلوبة
POST /qr/v1/ime/get         # المصادقة مطلوبة، الاستعلام عن IME النشط
POST /qr/v1/ime/list        # المصادقة مطلوبة، سرد IME المتاحة
POST /qr/v1/ime/set         # المصادقة مطلوبة، تبديل IME
POST /qr/v1/ime/toggle      # المصادقة مطلوبة، تفعيل/إيقاف IME
POST /qr/v1/ime/commit      # المصادقة مطلوبة، تثبيت سلسلة نصية

الإعدادات

الإعدادالافتراضيالوصف
مضيف الربط0.0.0.0الواجهة التي يجب الاستماع عليها. اضبطها على 127.0.0.1 للاقتصار على localhost.
منفذ VNC5900منفذ TCP لمستمع RFB القياسي.
منفذ تحكم QREX5911منفذ TCP لحركة QREX عبر HTTP + WebSocket.
منفذ UDP لوسائط QREX4010منفذ UDP لحزم القناة الجانبية لـ IME والصوت.
منفذ API ملفات QuickRemote8766منفذ TCP لواجهة API استعراض الملفات ونقلها.
كلمة مرور VNC(فارغ)حتى 8 بايتات متوافقة مع ASCII. يعني الفراغ عدم وجود مصادقة على قناة VNC.
رمز Bearer المميز لـ QREX(يُنشأ تلقائياً)الرمز النشط الصادر عند الاقتران. أعد إنشاؤه عبر الاقتران مجدداً أو تعديل هذا الحقل.
PIN الاقتران(يُنشأ تلقائياً)PIN مكوّن من 6 أرقام يُعرض على QuickRemote أثناء الاقتران. يتغير عند إعادة إنشائه.
معرّف خادم ثابت(يُنشأ تلقائياً)معرّف طويل الأمد يستخدمه QuickRemote للتعرف على جهاز Mac هذا.
بدء الخادم تلقائياًإيقافشغّل المستمعات عند فتح التطبيق.
السماح بلوحة المفاتيح والماوس عن بُعدتشغيلأوقفه لجعل الجلسات للعرض فقط.
تمكين جسر IMEتشغيلاسمح لعملاء QREX بالاستعلام عن طريقة الإدخال في macOS والتحكم بها.
تمكين API الصوتإيقافاسمح ببث صوت Opus عبر UDP لوسائط QREX. يكون متوقفاً افتراضياً لتوفير CPU.
تمكين مزامنة الحافظةتشغيلاعكس محتويات الحافظة بين Mac والعميل البعيد.
تمكين نقل الملفاتتشغيلاسمح لـ QuickRemote بإدراج الملفات وقراءتها. للقراءة فقط ما لم تُفعّل التعديلات أيضاً.
تمكين تعديلات الملفاتإيقافاسمح بالرفع وإعادة التسمية والحذف. متوقف افتراضياً — فعّله للعملاء الموثوقين فقط.
الحد الأقصى لعرض الإطار1440حد أقصى لعرض التقاط الشاشة. تقلل القيم المنخفضة عرض النطاق الترددي.
الحد الأقصى لارتفاع الإطار900حد أقصى لارتفاع التقاط الشاشة.
معدل الإطارات12الإطارات المستهدفة في الثانية المُرسلة إلى العملاء.

أمثلة العملاء

مشاركة الشاشة في macOS

  1. Finder → انتقال → الاتصال بالخادم
  2. اكتب vnc://<your-mac-ip>:5900
  3. أدخل كلمة مرور VNC

cURL — اكتشاف الإمكانات

curl http://<your-mac-ip>:5911/qr/v1/capabilities

cURL — الاقتران واستدعاء جسر IME

# 1. استبدل PIN برمز Bearer مميز
TOKEN=$(curl -s http://<your-mac-ip>:5911/qr/v1/pair \
  -H "Content-Type: application/json" \
  -d '{"pin":"123456"}' | jq -r .token)

# 2. ثبّت نصاً عبر جسر IME
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 الاتصال بصمت.
  • استخدم نسخ المعلومات كطريقة سريعة لإرسال تفاصيل الاتصال عبر الدردشة أو البريد الإلكتروني — إذ يتضمن كل ما يحتاجه العميل.
  • أبقِ تمكين تعديلات الملفات متوقفاً ما لم تكن تحتاج حقاً إلى الرفع. يكفي وضع القراءة فقط لاستعراض لقطات الشاشة أو الملاحظات أو التنزيلات.
  • عطّل API الصوت عندما لا تستخدمه. لا تزال برامج الترميز الخاملة تستهلك مقداراً صغيراً من CPU في مسار الترميز.

استكشاف الأخطاء وإصلاحها

لن يبدأ الخادم

  • قد يكون خادم VNC آخر (مثل مشاركة الشاشة في macOS) يستخدم المنفذ 5900 بالفعل. أوقفه من إعدادات النظام → عام → المشاركة، أو غيّر المنفذ في إعدادات DeskVNCServer.
  • يجب أن تكون المنافذ 5911 / 4010 / 8766 كلها متاحة. تحقق باستخدام lsof -i :5911 وما شابه.

يفشل عملاء VNC في المصادقة

  • تأكد من ألا تتجاوز كلمة المرور 8 بايتات متوافقة مع ASCII. تُقتطع الأحرف متعددة البايتات أو السلاسل الأطول بصمت بواسطة مصادقة RFB DES.
  • إذا كنت تريد عمداً عدم استخدام كلمة مرور، فاترك الحقل فارغاً واتصل بعارض يدعم VNC بلا مصادقة.

يتعذر على QuickRemote الاقتران

  • أكد أن الهاتف أو الجهاز اللوحي على شبكة Wi-Fi نفسها المتصل بها جهاز Mac.
  • افتح لوحة الاتصال واقرأ PIN مجدداً. يمكن إعادة إنشاء PIN من الإعدادات.
  • تحقق من إعدادات جدار الحماية في macOS — يجب السماح بالاتصالات الواردة على منافذ QREX.

التحكم عن بُعد بطيء الاستجابة

  • اخفض معدل الإطارات وأقصى أبعاد الإطار في الإعدادات.
  • عطّل الميزات التي لا تستخدمها (الصوت والحافظة وIME) لتحرير CPU.

لا تُنقل الملفات

  • أكد أن تمكين نقل الملفات مفعّل. تعمل قوائم القراءة فقط دون تمكين تعديلات الملفات.
  • إذا فشل الرفع، فعّل أيضاً تمكين تعديلات الملفات. وإلا فإن واجهة برمجة تطبيقات الملفات تستجيب لطلبات القراءة فقط.

الخصوصية

  • تعمل جميع الجلسات مباشرةً بين العميل وجهاز Mac الخاص بك. لا توجد بوابة سحابية أو قياس عن بُعد أو تحليلات.
  • لا يتم تخزين كلمة مرور VNC ورمز QREX Bearer ورمز PIN للاقتران ومعرّف الخادم الثابت إلا في إعدادات التطبيق المحلية.
  • تكون تعديلات الملفات معطّلة افتراضيًا. ولا يمكن للعملاء البعيدين إلا القراءة حتى تمنح إذن الكتابة صراحةً.
  • عطّل أي امتداد (الصوت أو الحافظة أو نقل الملفات أو IME أو الإدخال عن بُعد) في أي وقت لإلغاء هذه القدرة فورًا.
  • إذا أردت إبقاء الخادم محليًا على جهاز Mac، فاضبط مضيف الربط على 127.0.0.1.