FreeRDP: محرك RDP مفتوح المصدر الذي يُشغّل سطح المكتب البعيد على لينكس

تعرّف على FreeRDP، التطبيق مفتوح المصدر الذي ينفّذ بروتوكول RDP من مايكروسوفت على لينكس وmacOS وAndroid.
Cybersecurity Arab

FreeRDP هو تطبيق مفتوح المصدر بموجب رخصة Apache 2.0 يُنفّذ بروتوكول سطح المكتب البعيد (RDP) من مايكروسوفت بشكل كامل. على مدى أكثر من 15 عامًا، أصبح هذا المشروع العمود الفقري لمعظم عملاء RDP على أنظمة لينكس وغيرها من المنصات غير التابعة لمايكروسوفت. فإذا سبق لك استخدام Remmina أو GNOME Connections أو KRDC للاتصال بجهاز يعمل بنظام Windows من لينكس، فأنت كنت تستخدم FreeRDP في الخلفية دون أن تدري.

واجهة FreeRDP لسطح المكتب البعيد على لينكس

يُعدّ FreeRDP التطبيق الفعلي لبروتوكول RDP في عالم البرمجيات المفتوحة المصدر، حيث يعتمد عليه عدد كبير من المشاريع الأخرى مثل Apache Guacamole وغيرها. ومع 23,291 التزامًا (commit) عبر 419 مساهمًا و79 إصدارًا (آخرها v3.24.0 في مارس 2026)، يُعدّ واحدًا من أكثر مشاريع البنية التحتية مفتوحة المصدر نشاطًا وتطويرًا في مجال سطح المكتب البعيد.

ما الذي يُقدّمه FreeRDP؟

يُوفّر FreeRDP مجموعة شاملة من المكونات التي تغطي جميع جوانب بروتوكول RDP، بدءًا من المكتبة الأساسية وصولًا إلى العملاء والخوادم. يتضمن المشروع المكتبة الأساسية libfreerdp التي تُنفّذ بروتوكول RDP بالكامل كمكتبة مكتوبة بلغة C، وهي ما تعتمد عليه تطبيقات مثل Remmina وGNOME Connections وKRDC لتوفير دعم RDP في واجهاتها الرسومية.

بالإضافة إلى المكتبة الأساسية، يُقدّم FreeRDP عملاء مستقلين لمنصات متعددة تشمل X11 وWayland (المبني على SDL3) وWindows وmacOS وiOS وAndroid. وقد تخرّج عميل SDL3 من مرحلة التجريبية اعتبارًا من الإصدار v3.16 وأصبح جاهزًا للاستخدام الإنتاجي. كما يتضمن المشروع خادم ظل (Shadow Server) لمشاركة الشاشة وخادم وكيل (Proxy Server) لوساطة اتصالات RDP، مما يُتيح بناء بنية تحتية مخصصة لسطح المكتب البعيد.

أما WinPR (Portable Runtime) فهو طبقة توافق لواجهة برمجة تطبيقات Windows تسمح لقاعدة شفرة FreeRDP باستخدام واجهات برمجة تطبيقات بنمط Windows بشكل محمول عبر لينكس وmacOS والمنصات الأخرى، مما يُسهّل عملية النقل والتطوير.

ميزات البروتوكول

يُنفّذ FreeRDP بروتوكول RDP بشكل شامل، بما في ذلك نظام القنوات الافتراضية (Virtual Channels) الذي يتعامل مع معظم الميزات التي يهتم بها المستخدمون في جلسة سطح المكتب البعيد. يُغطّي هذا النظام مجموعة واسعة من الوظائف الأساسية والمتقدمة التي تجعل تجربة سطح المكتب البعيد قريبة قدر الإمكان من تجربة استخدام الجهاز محليًا.

الميزة الوصف
الحافظة (Clipboard) نقل ثنائي الاتجاه للنصوص والصور والملفات بين الجهاز المحلي والبعيد
الصوت إعادة توجيه الصوت من الجهاز البعيد إلى المحلي، بالإضافة إلى إدخال الميكروفون
إعادة توجيه الأقراص تحميل الأقراص المحلية على الجهاز البعيد للوصول إلى الملفات
إعادة توجيه الطابعات استخدام الطابعات المحلية من الجلسة البعيدة
البطاقات الذكية تمرير مصادقة البطاقات الذكية عبر الجلسة
الشاشات المتعددة تمديد الجلسة عبر عدة شاشات
ترميزات الرسوميات RemoteFX وقناة GFX وH.264/AVC والعرض التدريجي
البوابة (Gateway) دعم RD Gateway وTS Gateway لعبور NAT
NLA / TLS مصادقة مستوى الشبكة وتشفير TLS
المنافذ التسلسلية والمتوازية إعادة توجيه المنافذ القديمة (نعم، لا يزال مدعومًا)

البنية المعمارية

تقوم بنية FreeRDP على فصل تنفيذ البروتوكول عن واجهات العميل الأمامية وتطبيقات الخادم، وهذا هو ما يجعله مفيدًا سواء كأداة مستقلة أو كمكتبة يمكن التكامل معها. تتمثل البنية في مسار اتصال واضح: العميل (X11/SDL/Mac/iOS/Android) يتفاعل مع libfreerdp التي تتواصل عبر طبقة النقل (TCP/TLS/Gateway) مع خادم RDP.

تتولى المكتبة الأساسية التعامل مع آلة حالة RDP ومعالجة وحدات بيانات البروتوكول (PDU) وإدارة القنوات الافتراضية وفك ترميز الرسوميات والتفاوض الأمني. بينما يقتصر دور تطبيقات العميل على التعامل مع العرض والمدخلات الخاصة بكل منصة. قاعدة الشفرة مكتوبة بشكل أساسي بلغة C بنسبة 87.8% مع C++ لبعض المكونات وObjective-C لعميل macOS/iOS وJava لعميل Android. ويستخدم نظام البناء CMake مع تكامل مستمر شامل عبر منصات متعددة تشمل ARM وPowerPC وRISC-V وFreeBSD وmacOS وMinGW.

دعم المنصات

يدعم FreeRDP مجموعة واسعة من المنصات والأنظمة، حيث يُوفّر عملاء مخصصين لكل بيئة. عميل X11 على لينكس (xfreerdp) هو الأكثر نضجًا ويتمتع بدعم كامل لجميع الميزات، بينما عميل Wayland المبني على SDL3 لم يعد تجريبيًا منذ الإصدار v3.16 وإن كان عميل X11 لا يزال أكثر اختبارًا في بيئات الإنتاج. يتوفر أيضًا عميل أصلي لنظام Windows وعميل مبني على Objective-C لـ macOS وعميلان للأجهزة المحمولة على iOS وAndroid.

المنصة العميل ملاحظات
لينكس (X11) xfreerdp الأكثر نضجًا، دعم كامل للميزات
لينكس (Wayland) sdl-freerdp مبني على SDL3، لم يعد تجريبيًا منذ v3.16
Windows wfreerdp عميل أصلي لنظام Windows
macOS Mac client مبني على Objective-C
iOS iOS client عميل للأجهزة المحمولة
Android Android client مبني على Java، تم تحديث البناء في v3.13

الدور في المنظومة البيئية

FreeRDP ليس مجرد عميل لسطح المكتب البعيد، بل هو المكتبة التي تعتمد عليها معظم أدوات سطح المكتب البعيد مفتوحة المصدر. Remmina وGNOME Connections وKRDC وApache Guacamole والعديد من المشاريع الأخرى تستخدم libfreerdp لتنفيذ دعم RDP فيها. وعندما تدعم هذه الأدوات أحدث ميزات بروتوكول RDP، فذلك لأن FreeRDP نفّذها أولًا.

هذا الدور في المنظومة يُفسّر عدد الـ 15.3 ألف نسخة (fork) للمشروع، حيث أن كثيرًا منها يعود لمشاريع نهائية ومشرفي توزيعات لينكس. كما يعكس الـ 374 مراقبًا (watcher) فرق البنية التحتية ومشرفي المشاريع النهائية الذين يتتبعون تطور المشروع. وبفضل وثائق مواصفات مايكروسوفت المفتوحة (Microsoft Open Specifications) التي تُوفّر توثيق البروتوكول، يعمل FreeRDP كجسر مفتوح المصدر يضمن قابلية التشغيل البيني لـ RDP عبر المنصات المختلفة.

اعتبارات مهمة

رغم قوة FreeRDP ونضجه، هناك عدة نقاط يستحسن أن يكون المستخدمون على دراية بها قبل الاعتماد عليه في بيئاتهم. تتعلق هذه الاعتبارات بجوانب أمنية وتقنية يجب أخذها بعين الاعتبار لضمان استخدام آمن وفعّال للأداة.

تحذير! بصفته تطبيقًا لبروتوكول RDP، يعالج FreeRDP بيانات بروتوكول ثنائية معقدة من مصادر قد تكون غير موثوقة. شهد المشروع 134 تحذيرًا أمنيًا على مدار عمره. يجب إبقاء FreeRDP محدثًا دائمًا، خاصة في عمليات النشر المواجهة للإنترنت.
  1. تعقيد الإعدادات: واجهة سطر أوامر xfreerdp تحتوي على مئات الخيارات والعلامات. الحصول على المجموعة الصحيحة من الإعدادات لتكوين خادم معين (NLA، البوابة، وضع الرسوميات، إعادة التوجيه) يتطلب غالبًا مراجعة الوثائق. ولهذا السبب تحديدًا وُجدت واجهات رسومية مثل Remmina.
  2. نضج Wayland: رغم أن عميل SDL3 تخرج من المرحلة التجريبية في الإصدار v3.16، إلا أن عميل X11 لا يزال أكثر اختبارًا بشكل ملحوظ. قد يواجه مستخدمو Wayland حالات حافة غير موجودة على X11.
  3. فجوات التوثيق: رغم نضج المشروع، قد يكون التوثيق نادرًا أو قديمًا لبعض الميزات. الويكي هو المصدر الأساسي، مدعومًا بتوثيق واجهة برمجة التطبيقات والأسئلة الشائعة. للحالات المتقدمة، غالبًا ما يكون قراءة الشفرة المصدرية أو السؤال في غرفة Matrix ضروريًا.
  4. تعقيد البناء: يتطلب تجميع FreeRDP من المصدر شجرة تبعيات كبيرة تشمل OpenSSL وFFmpeg لـ H.264 وPulseAudio/PipeWire للصوت ومكتبات X11/Wayland المختلفة. معظم توزيعات لينكس توفر حزمًا جاهزة، لكنها قد تتأخر عن أحدث إصدار.

GitHub Repository freerdp.com

الخلاصة

FreeRDP هو واحد من تلك المشاريع الأساسية مفتوحة المصدر التي تعمل بصمت خلف كمية هائلة من البنية التحتية. إذا كنت تتصل بجهاز Windows من لينكس، فهناك احتمال كبير جدًا أن FreeRDP متورط في العملية. ومع 23,291 التزامًا و419 مساهمًا و79 إصدارًا على مدار 15 عامًا، يُعدّ من أكثر تطبيقات البروتوكولات نشاطًا وصيانة في منظومة البرمجيات المفتوحة المصدر.

يُواصل الإصدار الأحدث v3.24.0 (مارس 2026) التطوير النشط مع دعم C23 وتحسين عميل SDL3 والاستمرار في تحقيق التكافل مع ميزات البروتوكول. لمسؤولي الأنظمة الذين يديرون بنية تحتية لـ Windows من لينكس، أو المطورين الذين يبنون أدوات سطح المكتب البعيد، أو أي شخص يحتاج إلى وصول عبر المنصات لـ RDP، فإن FreeRDP هو المشروع الذي يجعل ذلك ممكنًا.

ملاحظة! FreeRDP هو مشروع مفتوح المصدر مستقل وليس تابعًا لمايكروسوفت أو معتمدًا منها. RDP هو بروتوكول طوّرته مايكروسو وهو موثق ضمن برنامج مواصفات مايكروسوفت المفتوحة (Microsoft Open Specifications).

إرسال تعليق